js正则表达式以及常用的手机号,邮箱,身份证,中文验证方式

正则表达式
概念:
一个用于规范字符串的表达式。
简单来说,就是写一个规则,然后通过这个规则可以从一个杂乱的字符串中找出符合规则的部分,也就可以用于判断一个字符串是否符合某个规则。还可以将一个字符串中符合规则的部分进行替换。
正则表达式其实就是一种规则,其实把正则称作规则表达式更为恰当。正则的语法基于一种古老的perl语言。
 
正则表达式的作用
1.提取字符串:从指定的字符串中将符合规则的部分提取出来;
2.匹配正则:判断一个字符是否跟指定的规则匹配;
3.替换字符串:将一个字符串中跟规则匹配的部分替换掉。
 
 
正则表达式的创建
语法:
/正则表达式主体/修饰符(可选)
 
使用说明:正则表达式比较特殊,不是字符串,不用加引号,但是要有定界符,两边都是斜杠。在斜杠后面可以加一些特定的修饰符。
 
 
修饰符
i :忽略大小写;
g :全局匹配,贪婪模式;
gi :全局匹配忽略大小写:
 
元字符
.       代表任意一个字符
\w      代表任意一个数字、字母、下划线
\d      代表任意一个数字
[ ]      代表中括号中的任意一个字符
\s      代表一个空格
\W      代表任意一个非数字、字母、下划线的字符
\D      代表任意一个非数字字符
\S      代表任意一个非空格字符
 
限定符
{n}     修饰前面的字符是n位
{m,n}   修饰前面的字符是m~n位
{m,}    修饰前面的字符最少m位,最多不限
?       修饰前面字符最多1位
+       修饰字符最少1位
*       任意位
^       修饰规则必须以他后面的字符开头
$       修饰规则必须以他前面的字符结尾
 
 
其他符号
[ ] 字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思;
[^] 匹配除中括号以内的内容;
\ 转义符;
| 或者,选择两者中的一个。注意|将左右两边分为两部分,而不管左右两边有多长多乱;
() 从两个直接量中选择一个,分组
eg:gr(a|e)y匹配gray和grey
[\u4e00-\u9fa5] 匹配汉字;
 
 
匹配字符串
字符串的匹配有两种方法:
1.正则表达式.test(字符串);能匹配为true,不能为false;
例如:
 
 
 
2.search()匹配成功返回下标位置,不能返回-1;
其实可以理解为查找字符串中符合正则表达式的子字符串的位置。
例如:
 
 
 
 
提取字符串
1.语法:math(正则表达式)
 
 
2.语法:正则表达式.exec(字符串)
例:
 
先匹配整体在匹配小括号。
 
 
 
替换字符串
语法:字符串.replace(正则表达式,新内容)
例如:
 
 
 
引用替换:
例如:
 
 
 
 
 
 
下面则是一些常用的验证:
1.手机号验证
/^1[3456789]\d{9}$/

 

 

2.qq号验证:

/^[1-9]\d{4,10}$/

 

3.qq邮箱验证:

/^[1-9]\d{4,10}@qq\.com$/

 

4.网易邮箱验证:

/^[a-zA-Z]\w{5,17}@(163|126)\.com$/

 

5.邮箱验证规则(包含网易,qq邮箱):

/^([1-9]\d{4,10}@qq|[a-zA-Z]\w{5,17}@(163|126))\.com$/

 

6.身份证号验证:

/^[1-9]\d{16}([0-9]|X)$/

 

7.中文验证:
/[\u4e00-\u9fa5]/

 

posted @ 2020-06-08 09:55  结发授长生  阅读(318)  评论(0)    收藏  举报