正则表达式在程序应用中的使用是非常广泛的。
首先正则表达式一般要写两个斜杠之间:/正则表达式/
其次有两个符号 ^ 和 $ ,符号 ^ 代表一个字符串的开始,而 $ 则代表一个字符串的结束。
举个例子:
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]$/ : 表示一个字符串以一个逗号跟着一个字母或者数字结束。