我需要一个正则表达式来检查:
密码至少包含八个字符,包括至少一个数字,包括小写和大写字母以及特殊字符,例如#、?、!。
它不能是您的旧密码,也不能包含您的用户名、“密码”或“网站名称”
这是我的验证表达式,用于八个字符,包括一个大写字母、一个小写字母和一个数字或特殊字符。
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
如果密码必须是八个字符,包括一个大写字母、一个特殊字符和字母数字字符,我怎么写?
var value=$("#password").val();
$.validator.addMethod("strongePassword",function(value)
{
return /^[A-Za-z0-9!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]*$/.test(value) && /[a-z]/.test(value) && /\d/.test(value) && /[A-Z]/.test(value)&& /[A-Z]/.test(value);`enter code here`
},'Password must have minimum 9 characters and contain at least 1 UPPERCASE, 1 lower case, 1 number, 1 special character.');
根据您的需要,这种模式应该可以正常工作。试试这个,
^(?=(.*\d){1})(.*\S)(?=.*[a-zA-Z\S])[0-9a-zA-Z\S]{8,}
只需创建一个字符串变量,分配模式,并创建一个布尔方法,如果模式正确,则返回true,否则返回false。
示例:
String pattern = "^(?=(.*\d){1})(.*\S)(?=.*[a-zA-Z\S])[0-9a-zA-Z\S]{8,}";
String password_string = "Type the password here"
private boolean isValidPassword(String password_string) {
return password_string.matches(Constants.passwordPattern);
}