天天看点

前端常用正则校验

语法

修饰符

i 执行对大小写不敏感的匹配。

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m 执行多行匹配。

表达式

[abc] 查找方括号之间的任何字符。

[0-9] 查找任何从 0 至 9 的数字。

(x|y) 查找任何以 | 分隔的选项。

元字符

\d 查找数字。

\s 查找空白字符。

\b 匹配单词边界。

\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

量词

n+ 匹配任何包含至少一个 n 的字符串。

n* 匹配任何包含零个或多个 n 的字符串。

n? 匹配任何包含零个或一个 n 的字符串。

使用字符串方法

在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

附上知乎看到的两张图

前端常用正则校验
前端常用正则校验

1、邮箱正则校验:

2、手机号校验(国内):

^1(3|4|5|7|8)\d{9}$
           

3、手机号校验(国际):

4、 身份证校验:

身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X

5、真实姓名:

js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次

var regName =/^[\u4e00-\u9fa5]{2,4}$/;

 if(!regName.test(name)){   

 alert('真实姓名填写有误');  

    return false; 

  }