JavaScript用户名、密码强度、email、身份证号正则

用户名正则:

(说明:4到16位,包括字母,数字,下划线,减号

varuPattern = /^[a-zA-Z0-9_-]{4,16}$/;

密码强度正则:

(说明:最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

varpPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;

email正则:

(说明:

  • 以大写字母[A-Z]、小写字母[a-z]、数字[0-9]、下滑线[_]、减号[-]及点号[.]开头,并需要重复一次至多次[+]。
  • 中间必须包括@符号。
  • @之后需要连接大写字母[A-Z]、小写字母[a-z]、数字[0-9]、下滑线[_]、减号[-]及点号[.],并需要重复一次至多次[+]。
  • 结尾必须是点号[.]连接2至4位的大小写字母[A-Za-z]{2,4}。

varpattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

身份证正则:

(说明:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码

分段表达为:

1、地址码长6位,以数字1-9开头,后5位为0-9的数字;

2、年份码长4位,以数字18,19或20开头,剩余两位为0-9的数字;

3、月份码长2位,第一位数字为0,第二位数字为1-9,或者第一位数字为1,第二位数字为0-2;

4、日期码长2位,第一位数字为0-2,第二位数字为1-9,或者是10,20,30,31;

5、顺序码长3位,顺序码是数字;

6、校验码长1位,可以是数字,字母x或字母X;

varcP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;

(来源于: https://www.jb51.net/article/115170.htm 及 https://www.jb51.net/article/136640.htm)