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]/

浙公网安备 33010602011771号