语法

/正则表达式主体/修饰符(可选)

修饰符
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、邮箱正则校验:

  /^[a-zA-Z0-9.! #$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+[a-z]{2,}$/

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

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

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

/^((\+\d{1,3}(-| )??\d?(-| )?\d{1,5})|(?\d2,6?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/

4、 身份证校验:

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

/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

5、真实姓名:

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

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

 if(!regName.test(name)){   

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

    return false; 

  } 
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐