最全正则表达式总结:验证QQ号、手机号、Email、

RegExp 是正则表达式(Regular expression)的缩写,作用是对字符串执行模式匹配。

通常用于格式验证、正则替换、查找子串等

各种编程语言的正则表达式基本相同,不同的语言可能会有一些细小的差别

RegExp 语法

1.// 直接实例化

2.var reg = new RegExp(pattern [, flags])

3.// 隐式创建(推荐)

4.var reg = /pattern/flags;

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 [, flags] 是一个可选的字符串,包含属性 “g”(global )、”i” (ignoreCase)和 “m”(multiline)。

ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

最全正则表达式总结:验证QQ号、手机号、Email、

概念:子表达式

在正则表达式中,使用括号括起来的内容是一个子表达式,子表达式匹配到的内容会被系统捕获至缓冲区,使用\n(n:数字)来反向引用系统的第n号缓冲区的内容。

场景:后面的内容要求与前面的一致,可以使用子表达式

1.// 查找连续相同的四个数字

2.var str = "1212ab45677778cd";

3.var reg = /(\d)\1\1\1/gi;

4.console.log(str.match(reg));

5.// OUTPUT:7777

概念:方括号(字符簇)

1.var str = "Is this all there is?";
2.var patt1 = /[a-h]/g;
3.document.write(str.match(patt1));
4.// OUTPUT:h,a,h,e,e

方括号 作用

方括号 作用
[abc]   查找方括号之间的任何字符。  
[^abc]   查找任何不在方括号之间的字符。  
[0-9]   查找任何从 0 至 9 的数字。同 \d  
[a-z]   查找任何从小写 a 到小写 z 的字符。  
[A-Z]   查找任何从大写 A 到大写 Z 的字符。  
[A-z]   查找任何从大写 A 到小写 z 的字符。  
[0-9a-zA-Z]   查找0-9,a-z,A-Z  

概念:元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符 | 作用
—|—
\ | 转义符 (、)、/、\
| | 选择匹配符,可以匹配多个规则
. | 查找单个字符,除了换行和行结束符。
\w | 查找单词字符。字符 ( 字母 ,数字,下划线_ )
\W | 查找非单词字符。
\d | 查找数字。
\D | 查找非数字字符。
\s | 查找空白字符。空格
\S | 查找非空白字符。
\b | 匹配单词边界。
\B | 匹配非单词边界。
\0 | 查找 NUL 字符。
\n | 查找换行符。
\f | 查找换页符。
\r | 查找回车符。
\t | 查找制表符。
\v | 查找垂直制表符。
\xxx | 查找以八进制数 xxx 规定的字符。
\xdd | 查找以十六进制数 dd 规定的字符。
\uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。

概念:量词

量词 作用
n+   匹配任何包含至少一个 n 的字符串。同 {1,}  
n*   匹配任何包含零个或多个 n 的字符串。同 {0,}  
n?   匹配任何包含零个或一个 n 的字符串。同 {0,1}  
n{X}   匹配包含 X 个 n 的序列的字符串。  
n{X,Y}   匹配包含 X 至 Y 个 n 的序列的字符串。  
n{X,}   匹配包含至少 X 个 n 的序列的字符串。  
n$   匹配任何结尾为 n 的字符串。  
^n   匹配任何开头为 n 的字符串。注意 /[^a] / 和 /^ [a]/是不一样的,前者是排除的,后者是代表首位。  
(?=n)   匹配任何其后紧接指定字符串 n 的字符串。正向预查  
(?!n)   匹配任何其后没有紧接指定字符串 n 的字符串。反向预查  

RegExp 对象方法

test()

test() 方法检索字符串中是否存在指定的值。返回值是 true 或 false。

1.var patt1 = new RegExp('e');
2.console.log(patt1.test('some text'));
3.// OUTPUT:true
4.var patt2 = new RegExp('ee');
5.console.log(patt2.test('some text'));
6.// OUTPUT:false

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wydgsp.html