作用:
一般用来测试某个字符串是否合乎一定的规则,属于js中的要写在script标签里面
比如测试字符串里面是否包含e
var patt=new RegExp("e");
var str="abcd";
alert(patt.test(str));
alert(patt);
//这里返回值为false
创建一个规则条件new RegExp("e")
表示是否含有e,并把它赋给patt 通过patt.test(“字符串”)来测试字符串里是否含有e,返回值为false或者true;
这里 我们打印RegExp(“e”)可知它返回值为/e/所以,我们可以直接var patt=/e/
来替代var patt=new RegExp("e")
语法:
两边为"/"中间写上检测类型
var patt=new RegExp("e");
var str="abcd";
alert(patt.test(str));
alert(patt);
//这里返回值为false
正则检测类型:
/指定字母/
测试字符串里面是否含有指定字母
方括号
测试字符串里面是否包含指定的字符串中的任意一个字符
1./[字符串]/
用来检测 中括号里面字符串所含有的任意字符
var patt=/[abc]/;
console.log(patt.test("asd"));
测试字符串"asd"中是否含有a或者b或者c,有的话返回true,没有则返回false。
2./[a-z]/表示从所有的小写字母
var patt=/[a-z]/;
var b="123";
console.log(patt.test(a));
测试a里面是否含有所有的小写字母
3./[A-Z]/表示所有的大写字母
var patt=/[A-Z]/;
var b="123";
console.log(patt.test(a));
测试a里面是否含有所有的大写字母
元字符
元字符是拥有特殊含义的字符
例子:
\w
(非常常用)
查找单词字符,单词字符包括:a-z,A-Z,0-9,以及下划线(_)
语法:/\w/
var patt=/\w/;
var a="123"
console.log(patt.test(a));
查找a里面是否含有单词字符
量词
注:图片中所有的括号都是大括号({}) 第六个是n{x,} 最后一个是
例子:
a*
匹配包含0个或多个a的字符串
a{n}
匹配包含连续n个a的字符串
a{n,x}
匹配包含连续n个且最大不能超过x以上a的字符串
因为字符串也是由字符串组成的,比如aaaaaaa可以看作是由aaa和aaaa字符串组成的,而正则表达式检测的条件比较松,就比如a{3}只要检测到由三个a组成的字符串就会通过,所以这导致有的时候我们进行检测字符串后得不到想要的结果,比如上面的的量词条件。
所以有很多这样的的条件我们需要结合下面的两个结尾和开头的限制条件语句进行使用
^a
匹配任何开头为a的字符串
a$
匹配任何结尾为a的字符串
比如最上面的三个语句,我们想要正确使用我们可以这样
var patt=/^a{3,5}$/;
var a="123aaaaaa"
console.log(patt.test(a));
//返回false 若是不加^和$则返回true
在语句前后分别加上^,$
表示字符串必须从头到尾都要符合对应的语句条件。