input输入框验证邮箱、身份证号码、手机号码、密码等正则

1、邮箱 

/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/

该正则表达式的详细解释如下:

^:以句首开始匹配
[\w-]+:匹配一个或多个字母、数字、下划线或连字符(邮箱用户名部分)
(\.[\w-]+)*:匹配零个或多个点后跟着一个或多个字母、数字、下划线或连字符(邮箱用户名中的域名部分)
@:匹配一个 "at" 符号
([\w-]+\.)+:匹配一个或多个字母、数字、下划线或连字符后跟着一个点(邮箱域名的一级和二级域名部分)
[a-zA-Z]{2,7}:匹配两到七个连续的大小写字母(邮箱域名的顶级域名部分)
$:以句尾结束匹配

* 需要注意的是,虽然该正则表达式可以用来验证大多数常见的邮箱地址,但并不能保证完全准确地验证所有可能的邮箱地址形式,并且还有一些特殊的国际化邮箱地址需要额外处理。

2、身份证号码,支持1/2代(15位/18位数字) 

/^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/

该正则表达式详细解释如下:

^\d{6}:匹配前6个数字,表示身份证号码的地区编码。
((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3}):匹配身份证号码中日期部分(出生年月日),包括闰年的处理。
|:逻辑或运算符,表示下面两个子表达式二选一。
((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2})):匹配身份证号码中日期部分的另外一种写法。
(\d|X|x)$:匹配身份证号码中最后一个数字或字母(X/x),表示身份证号码的校验位。

* 需要注意的是,虽然该正则表达式可以匹配满足规定格式的身份证号码,但不能完全保证身份证号码的有效性和正确性。

3、手机号码 

/** 手机号(mobile phone)中国(严谨) */
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/

该正则表达式详细解释如下:

^(?:(?:\+|00)86)?:匹配中国大陆电话号码前可能的国际区号,如+86或0086。
1:匹配中国大陆手机号码的第一位数字必须为1。
(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189])):匹配手机号码的第二位数字,可以是3、45、5、6、7、8、9之中的任意一个数字。
\d{8}:匹配手机号码后8位数字。
* 需要注意的是,尽管该正则表达式可以匹配符合规定格式的中国大陆手机号码,但并不能完全保证手机号码的有效性和正确性。


/** 手机号(mobile phone)中国(宽松) */
/^(?:(?:\+|00)86)?1[3-9]\d{9}$/

该正则表达式详细解释如下:

^(?:(?:\+|00)86)?:匹配中国大陆电话号码前可能的国际区号,如+86或0086。
1:匹配中国大陆手机号码的第一位数字必须为1。
[3-9]:匹配手机号码的第二位数字,可以是3到9之间的任意一个数字。
\d{9}:匹配手机号码后9位数字。

* 需要注意的是,虽然该正则表达式可以匹配符合规定格式的中国大陆手机号码,但并不能完全保证手机号码的有效性和正确性。

4、密码强度

/** 最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 */
/^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/ 

该正则详细解释如下:

^\S*:匹配字符串开始位置,可以包含任意数量的非空格字符。
(?=\S{6,}):正向预查(lookahead),要求字符串中必须包含至少6个非空格字符。
(?=\S*\d):正向预查,要求字符串中必须包含至少一个数字。
(?=\S*[A-Z]):正向预查,要求字符串中必须包含至少一个大写字母。
(?=\S*[a-z]):正向预查,要求字符串中必须包含至少一个小写字母。
(?=\S*[!@#$%^&*? ]):正向预查,要求字符串中必须包含至少一个特殊字符(!@#$%^&*? )。
\S*$:匹配字符串结束位置,可以包含任意数量的非空格字符。

* 需要注意的是,尽管该正则表达式可以匹配符合规定复杂度的密码,但并不能完全保证密码的强度和安全性

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值