正则表达式是用来操作字符串的公式,可以规定字符串的长度,内容,组成,还可以做字符串的过滤。

正则表达式的全局匹配的公式: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}/;