JavaScript正则表达式

Posted franklongger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript正则表达式相关的知识,希望对你有一定的参考价值。

正则表达式在程序应用中的使用是非常广泛的。

首先正则表达式一般要写两个斜杠之间:/正则表达式/

其次有两个符号 ^ 和 $ ,符号 ^ 代表一个字符串的开始,而 $ 则代表一个字符串的结束。

举个例子:

1 <script>
2         var str=‘asdfghjkl‘;
3         var select=/^asd/;
4 </script>

这里声明一个字符串str,声明一个select,表示所有以asd开头的字符串。

1 <script>
2     var str=‘asdfghjkl‘;
3     var select=/jkl$/;
4 </script>

表示所有以jkl结尾的字符串。

但是要如何应用这个正则表达式呢?这时就要用到test()方法了

test()方法用于检测一个字符串是否匹配某个模式

接上个代码,其格式为:

1 select.test(str)

这个代码是有返回值的,如果str确实符合正则表达式要求,则返回true,否则返回false,因此可以使用条件语句if来使用它。

例如:

1 <script>
2     var str=‘asdfghjkl‘;
3     var select=/jkl$/;
4     if(select.test(str)){
5         alert(str);
6     }else{
7         alert(‘字符串不符合要求!‘);
8     }
9 </script>

符合要求则弹出该字符串,否则弹出‘字符串不符合要求!’。

正则表达式有很多语法,除了上述内容之外,还有:

/^abc$/ : 以abc开头并且以abc结尾的字符串。

/abc/ : 任何位置包含abc的字符串。

/ab*/ : 一个字符串有一个a后面跟着0或者若干个b。。。

/ab+/ : 一个字符串有一个a后面跟着一个或者更多b。

/ab?/ : 一个字符串有一个a后面跟着0个或者一个b。

/a?b+$/: 一个字符串末尾有0个或者一个a跟着一个或几个b。。。

/ab{2,}/: 一个字符串有一个a跟着至少两个b。

/ab{2,3}/: 一个字符串有一个a跟着至少二到三个b。

大括号表示范围,可以没有最大范围,但一定要有最小范围

+,$,*都可以用{范围}来表示

/abc|abd/ : 一个字符串中有abc或者abd。

/(abc|abd)ef/ : 一个字符串含有abcef或者abdef。

/(a|b)*c/ : 表示一个字符串以a,b混合后面跟着一个c。

/a.[0-9]/ : 表示一个字符串有一个a后面跟着任意一个字符和一个数字。

/^.{3}$/ : 表示有任意三个字符的字符串。(长度为三个字符)

/[ab]/ : 表示字符串有一个a或b。

/[0-9]%/ : 表示一个百分号前有一位的数字。

/[a-g]/ : 表示一个字符串中包含小写字母a到g中的一个。

/^[a-zA-z]/ : 表示以一个字母开头的字符串。

/,[a-zA-z0-9]$/ : 表示一个字符串以一个逗号跟着一个字母或者数字结束。

 

以上是关于JavaScript正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中 正则表达式的使用 及 常用正则表达式

Javascript 清理 URL 正则表达式

通过 Java 正则表达式提取 semver 版本字符串的片段

攻破难啃的骨头-正则表达式(转)

text 正则表达式片段

markdown 正则表达式模式片段