正则表达式是用来操作字符串的公式,可以规定字符串的长度,内容,组成,还可以做字符串的过滤。
正则表达式的全局匹配的公式:var reg = /a/g;
正则表达式的公式:reg.test(str ) ;
1.reg.test(str):在str这个字符串中,查找符合reg公式的字符串。如果存在。就返回true。否则就返回false;
2.reg.exec(str):返回str中第一个符合reg公式的字符串的信息,匹配不到就返回null。(如果设置成全局匹配的情况下,则返回第二个,一般情况下,使用exec函数,reg不做全局匹配设置)
3.reg2.exec(str).index =返回自己的下标
reg2.exec(str).input = 返回父级的字符串
reg2.exec(str)[0] 返回第一个匹配到的值
4.正则表达式里字符串的函数:
(1)函数写法:str. match(reg);
在str中找到了符合reg公式的字符串,如果没有返回null。如果reg设置了全局匹配的话,返回所有符合reg的字符串组成的数组,如果未设置全局匹配,则只返回第一个。
(2)函数写法:str.search(reg 或 str2);
找到str中第一个符合reg的公式,(或者第一个str2)出现的位置,就算reg设置了全局匹配,依旧返回第一次出现的位置,如果没有找到符合条件的字符串,则返回-1;
(3)函数写法:str.replace(reg,newstr);第一个为要替换的值,第二个为被替换的值
将str中符合reg公式的字符串替换成了newstr,如果reg设置了全局匹配,就替换所有,如果未设置,则只替换第一个。
5.正则表达式的写法:
元字符:在正则表达式中,有一些字符有着特殊的含义,如果要去匹配这个字符的本身,要将其进行转移(例如:/\//);
常见的元字符有:{ } ( ) [ ] / \\ ^ $ + * . ? - |
正则表达式中的量词:
(1)
/a{2}/g;
返回字符串中所有两个连着的a;
(2)
/a{2,6}/g;
返回字符串中所有两个以上6个以下并且连着的a;
(3)
/a{2,}/g;
返回字符串中两个及两个以上多不限制连着的a;
(4)
? 没有或者一次
* 没有或者多次
+ 1次或者多次
(5)
^脱字符:/ ^g /; 规定字符必须要以g打头开始。
(6)
中括号[ ]
/ [abc] /; a 或者 b 或者c
/ [^abc] /;不是a、b、c
/ ^[abc] /; 必须是a或者b或者c打头
/ [a-z] / 表示区间a-z之间的任意字符串
/ [a-z0-9A-Z] / a~z之间的字母或者0~9之间的数字,或者A~Z 之间的大写字母
(7)模式设置
g:全局匹配
i:是否区分大小写,默认是否,设置是是
m:是否识别换行符。(多行匹配)
(8)
\d : 匹配0-9之间的任一数字,相当于[0-9];
\D : 匹配所有0-9以外的字符,相当于[^0-9];
\w:匹配任意的字母,数字和下划线以外的字符,相当于[A-Za-z0-9];
\W:除所有字母,数字和下划线以外的字符,相当于[^A-Za-z0-9];;
\s :匹配空格,包括制表符,空格符,断行符
\S : 匹配非空格的字符
\b : 匹配单词的边界
\B : 匹配非单词边界
特殊字符:
[ \b ]匹配退格键
\n 匹配换行键
\r 匹配回车按键
\f 匹配换页符
\t 查找制表符tab
^[a-zA-Z_$][\w$]* js变量的正则表达式命名骨子额
//电话号码正则表达式 var telReg =/^1[^012][0-9]{9}/;