一、定义
正则表达式是一种字符串的语法规则,也是一种可以用于模式匹配和替换的规则,主要用来处理文本和字符串。一个正则表达式是由普通的字符(如字符a到z)以及特殊字符(元字符)组成的文字模式,用以描述在查找文字主体时待匹配的一个或多个字符串。
二、常用元字符
元字符 | 在正则表达式中的写法 | 意义 |
. | 代表任何一个字符 | |
\d | \\d | 代表0-9的任何一个数字 |
\D | \\D | 代表任何一个非数字字符 |
\s | \\s | 代表空格类字符,'\t'、'\n'、'\x0B'、'\f' 、'\r' |
\S | \\S | 代表非空格类字符 |
\w | \\w | 代表可用于标识符的字符 |
\W | \\W | 代表不能用于标识符的字符 |
三、正则表达式中的【】
1.【】中的元字符含义如下:
【abcde】:匹配abcde之中的任意一个字符。
【a-h】:匹配a到h之间的任意一个字符。
【^fgh】:不匹配fgh之中的任意一个字符。
2.【】中允许嵌套,可以进行并、交、差运算,其含义如下。
【a-d[m-p]】:代表a-d或m-p中的任何一个字符(并)。
【a-z&&[def]】:代表d、e或f中的任意一个字符(交)。
【a-f&&[^bc]】:代表a、d、e、f(差)。
四、正则表达式中的限定符
带限定符号的模式 | 含义 |
X? | X出现0次或1次 |
X* | X出现0次或多次 |
X+ | X出现1次或多次 |
X{} | X出现n次 |
X{n,} | X至少出现n次 |
X{n,m} | X出现n次至m次 |
XY | X后跟Y |
X|Y | X或Y |
五、实例
1.match()
验证成功,返回值;验证失败,返回null
例:
var tel = "11789469941"; var g = tel.match(/^[1][34578][0-9]{9}$/); console.log(g);
返回值为null
解释:该正则表达式【0-9】{9}表示后九位数字在0-9的数字中选择,显然给出的数字是符合的。
首位【1】表示第一位为1,符合。
但第二位从【34578】中任意选择一位,并未出现给出的1这个选项,因此错误,故返回null值。
2.test()
验证成功,返回true;验证失败,返回false
var g3 = "www.baidu.com" var reg1 = new RegExp(/^www\.[a-zA-Z0-9]+\.(com|cn)/); console.log(reg1.test(g3));
返回值为true
解释:^www\.表示前三位为www.
[a-zA-Z0-9]表示从大小写字母、数字中任选一种类型。
(com|cn)表示从二者选一