常见密码正则表达式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常见密码正则表达式
第⼀种
⾄少8-16个字符,⾄少1个⼤写字母,1个⼩写字母和1个数字,其他可以是任意字符:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\s\S]{8,16}$/
其中 [\s\S] 中的\s空⽩符,\S⾮空⽩符,所以[\s\S]是任意字符。
也可以⽤ [\d\D]、[\w\W]来表⽰。
⾄少8个字符,⾄少1个⼤写字母,1个⼩写字母和1个数字,不能包含特殊字符(⾮数字字母):
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
⾄少8个字符,⾄少1个字母,1个数字和1个特殊字符:
^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$
⾄少8个字符,⾄少1个⼤写字母,1个⼩写字母和1个数字:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
⾄少8个字符,⾄少1个⼤写字母,1个⼩写字母,1个数字和1个特殊字符:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}
最少8个最多⼗个字符,⾄少1个⼤写字母,1个⼩写字母,1个数字和1个特殊字符:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10}
第⼆种
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
⾄少1个⼤写字母English letter,(?=.*?[A-Z])
⾄少1个⼩写英⽂字母,(?=.*?[a-z])
⾄少1位数字,(?=.*?[0-9])
⾄少有1个特殊字符,(?=.*?[#?!@$%^&*-])
最⼩8个长度.{8,}
第三种
正则表达式没有AND运算符,所以编写正则表达式与有效密码匹配是⾮常困难的,当有效性被某些东西和其他东西等定义时…
但是,正则表达式确实有1个OR运算符,所以只需应⽤DeMorgan的定理,并编写1个与⽆效密码相匹配的正则表达式:
任何少于8个字符或任何没有数字或任何没有⼤写字母或任何没有⼩写字母或任何没有特殊字符的任何东西。
所以:^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$,如果有什么匹配的话,这是1个⽆效的密码。
第四种
由于特殊字符仅限于键盘中的特殊字符,因此可⽤于任何特殊字符:
^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$
这个正则表达式将强制执⾏这些规则:
– ⾄少1个⼤写英⽂字母
– ⾄少1个⼩写英⽂字母
– ⾄少1位数字
– ⾄少1个特殊字符
– 最少8个长度
第五种
根据我的情况,我遇到了最受欢迎的答案。
例如,我的验证失败,其中包含;或[等字符。
我对 white-listing 我的特殊字符不感兴趣,所以我⽤[^\w\s]作为测试 – 简单地把⾮字符(包括数字)和⾮空格字符放在⼀起。
总⽽⾔之,这是对我有⽤的
⾄少8字符
⾄少1数字字符
⾄少1⼩写字母
⾄少1⼤写字母
⾄少1特殊字符
/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/ 简单演⽰涵盖各种情况
第六种
导⼊JavaScript⽂件jquery.validate.min.js。
您可以使⽤此⽅法:
JavaScript 代码:
$.validator.addMethod("pwcheck", function (value) {
return /[\@\#\$\%\^\&\*\(\)\_\+\!]/.test(value) && /[a-z]/.test(value) && /[0-9]/.test(value) && /[A-Z]/.test(value) });
⾄少1个⼤写英⽂字母
⾄少1个⼩写英⽂字母
⾄少1位数字
⾄少1个特殊字符
第七种
尝试这个:
– 最少6个字符
– ⾄少有1个⼤写字符
– ⾄少1个⼩写字符
– ⾄少1个特殊字符
表达式:
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&.])[A-Za-z\d$@$!%*?&.]{6, 20}/
可选特殊字符:
⾄少1个特殊字符
⾄少1个数字
特殊字符是可选的
最少6个字符,最多16个字符
表达式:
/^(?=.*\d)(?=.*[a-zA-Z]).{6,20}$/
如果不需要最⼩和最⼤条件,则删除.{6, 16}
– 6是最⼩字符数限制
– 20是最⼤字符限制
– ?=表⽰匹配表达式
Enjoy it !。