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

2022-11-05 15:28:42 浏览数 (3)

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———————–‘);                 }

1 人点赞