强密码正则验证
老板要求完善下某内部系统登录密码的强度验证,密码长度7位以上,同时包含有大小写字母、数字、符号。
这种复杂度验证主要分成两部分,第一部分需要验证大小写字母、数字、符号这4种类型,第二部分则是验证长度。
验证是否包含不同类型的内容,首先考虑正向预查,得出第一部分表达式:
/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[W_])/
其中“W”表示匹配任何非单词字符,等价于[^A-Z a-z 0-9_],其中也排除了下划线,所以表达式中进行补充。
补充第二部分长度验证得出表达式:
/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[W_]).{7,}/