JavaScript正则表达式的两种写法[通俗易懂]

JavaScript正则表达式的两种写法[通俗易懂]JavaScript正则表达式可以使用正则表达式的特殊符号(//)来声明,也可以采用正则表达式对象(RegExp)来声明。1、使用正则表达式符号正则表达式符号为”//”,即为2个斜杠,中间为匹配规则。JavaScript中类似的特殊符号还有数组“[]”,对象“{}”。示例:      functionprintln(str){         document

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

JavaScript正则表达式可以使用正则表达式的特殊符号(/ /)来声明,也可以采用正则表达式对象(RegExp)来声明。

1、使用正则表达式符号

正则表达式符号为”/ /”,即为2个斜杠,中间为匹配规则。JavaScript中类似的特殊符号还有数组“[]”, 对象“{}”。

示例:

        function println(str){

            document.writeln(str + “<br/>”);
        }
        
    
        function test1(){

            var reg = /.*\.(jpg|jpeg|png|gif)$/;
            var str = ‘121%llskljfls.jpg2’;
        
            println(str.match(reg));        
            println(reg.test(str));        
        }
        
        function test1b(){

            var reg = /.*\.(jpg|jpeg|png|gif)$/i;
            var str = ‘121%llskljfls.JPG’;
        
            println(str.match(reg));        
            println(reg.test(str));        
        }
        
        function test2(){

            var str = ‘121%llskljfls.jpg’;

            var reg = new RegExp(‘/.*\.(jpg|jpeg|png|gif)$/’,’i’);
            println(str.match(reg));        
            println(reg.test(str));    
            println(‘使用new RegExp()方式,不能再添加斜杠(“/”)’);    
        }

使用i参数,则忽略大小写。竖线为或选择符,意即括号中的模式匹配上任何一种皆可。

2、使用正则表达式对象

使用正则表达式对象时,匹配规则不再需要“/ /”(2个斜杠),如果加上,结果就不对了。
        function println(str){

            document.writeln(str + “<br/>”);
        }

        function test3(){

            println(‘——————-test3———————–‘);
            var str = ‘121%llskljfls.jpg’;

            var reg = new RegExp(‘.*\.(jpg|jpeg|png|gif)$’,’i’);
            println(str.match(reg));        
            println(reg.test(str));        
            println(‘——————-test3———————–‘);            
        }
        
        function fileExtMatch(filename){

            var allowFileExt = [‘jpg’,’jpeg’,’png’,’gif’];
            var str = allowFileExt.join(‘|’);
            println(‘str:’ + str);
            var reg = new RegExp(‘.*\.(‘ + str + ‘)$’,’i’);
            return  reg.test(filename);
        }
        
        function test4(){

            println(‘——————-test4———————–‘);        
            var strs =  ‘121%llskljfls.jpg’;
            
            var result  = fileExtMatch(strs);        
            println( ‘fileExtMatch match result:’ + result);    
            println(‘——————-test4———————–‘);        
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191475.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7系列关闭防火墙但是端口依然无法访问

    centos7系列关闭防火墙但是端口依然无法访问centos7.3系统,已经关闭firewalld,但是除了22端口,其余端口无法被外界访问,本地访问正常,解决步骤:1、先开启firewalld:systemctl start firewalld2、放通端口:firewall-cmd –zone=public –add-port=8080/tcp –permanent3、重新加载配置文件:firewall-cmd –reload此时测试,端口已经能够访问了,如果不需要firewall,可以再关闭,已放通端口不受影响(为什么一开始我不放

    2022年6月13日
    673
  • int8与int16_将int型转为char型

    int8与int16_将int型转为char型工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。int_t同类int_t为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以最有效的维护代码。…

    2022年8月15日
    8
  • bytebuffer 释放_Java中byte

    bytebuffer 释放_Java中byte文章来源Referencecountedobjects和Netty官方文档翻译看完本篇文章在看ByteBuf的回收recycler,会更好理解自从Netty4开始,对象的生命周期由它们的引用计数(referencecounts)管理,而不是由垃圾收集器(garbagecollector)管理了。ByteBuf是最值得注意的,它使用了引用计数来改进分配内存和释放内存的性能。每个对象的初始计数为1:ByteBufbuf=ctx.alloc().directBuffer();

    2026年1月21日
    3
  • IntelliJ IDEA集成svn

    IntelliJ IDEA集成svnEclipse集成svn相信大家已经非常熟悉了,但是IntelliJIDEA如何集成svn呢?下面简单介绍一下(其他的版本控制工具的集成类似):1.首先配置下载并配置svn软件,推荐使用SlikSvn。2.在IntelliJIDEA集成svn,选择Subversion。3.配置完成之后就可以从svn服务器上checkout代码。4.修改代码之后,在该文件或

    2022年10月18日
    3
  • Nginx修改默认端口80

    Nginx修改默认端口80前言    安装流程请参考我的文章–Windows下安装Nginx。    博客地址:https://blog.csdn.net/zengwende/article/details/86610692修改步骤1、打开Nginx的配置文件nginx.conf2、修改默认端口的值即可(nginx默认的端口为80) …

    2025年10月6日
    3
  • [转载] 中华典故故事(孙刚)——11 见钱眼开

    [转载] 中华典故故事(孙刚)——11 见钱眼开

    2021年8月21日
    61

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号