我需要一个正则表达式来检查:

密码至少包含八个字符,包括至少一个数字,包括小写和大写字母以及特殊字符,例如#、?、!。

它不能是您的旧密码,也不能包含您的用户名、“密码”或“网站名称”

这是我的验证表达式,用于八个字符,包括一个大写字母、一个小写字母和一个数字或特殊字符。

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

如果密码必须是八个字符,包括一个大写字母、一个特殊字符和字母数字字符,我怎么写?


当前回答

根据我的情况,我很难找到最流行的答案。例如,我的验证失败,出现以下字符:;或[。我对白色列出我的特殊字符不感兴趣,因此我使用[^\w\s]作为测试-简单地放-匹配非单词字符(包括数字)和非空格字符。总而言之,这是对我有用的。。。

至少8个字符至少1个数字字符至少1个小写字母至少1个大写字母至少1个特殊字符


/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/

JSFiddle链接-涵盖各种情况的简单演示

其他回答

我们可以通过使用HTML5来做到这一点。

在模式属性中使用以下代码,

pattern="(?=^.{8,}$)((?=.*\d)(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

它将完美地工作。

图案至少匹配1个大写字符、1个数字和任何特殊字符,长度在8到63之间。

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\W]{8,63}$"

此模式用于JAVA编程。

(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+-]).{6}

对于标准密码要求,我发现这很有用:

至少1个字母表至少1位不包含空格可选特殊字符,例如@$!%*#&^_-至少8个字符长/^(?=.*[A-Za-z])(?=..*\d)[A-Za-z\d@$!%*#?&^_-]{8,}$/

您还可以将上限设置为例如{8,32},最多32个字符。

导入JavaScript文件jquery.validate.min.js。

您可以使用此方法:

$.validator.addMethod("pwcheck", function (value) {
    return /[\@\#\$\%\^\&\*\(\)\_\+\!]/.test(value) && /[a-z]/.test(value) && /[0-9]/.test(value) && /[A-Z]/.test(value)
});

至少一个大写英文字母至少一个小写英文字母至少一个数字至少一个特殊字符