语言是javascript。
将通过的字符串:
JavaScript1 *
Pu54 325
()9C
无法通过的字符串:
654fff
%^(DFE
我尝试了以下内容:
var matches = password.match(/\d+/g);
if(matches != null)
{
//password contains a number
//check to see if string contains a letter
if(password.match(/[a-z]/i))
{
//string contains a letter and a number
}
}
答案 0 :(得分:3)
您可以使用正则表达式:
我从这里开始:Regex for Password
var checkPassword = function(password){
return !!password.match(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%* #+=\(\)\^?&])[A-Za-z\d$@$!%* #+=\(\)\^?&]{3,}$/);
};
我使用这个正则表达式:
至少3个字符,至少1个字母,1个数字和1个特殊字符:
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%* #=+\(\)\^?&])[A-Za-z\d$@$!%* #=+\(\)\^?&]{3,}$"
此正则表达式将强制执行以下规则:
至少一封英文字母,(?=。*?[A-Za-z])
至少一位数,(?=。* \ d)
至少有一个特殊字符,(?=。 [$ @ $!%#+ =()\ ^?&])如果你愿意,可以添加更多...
最少3个字符(?=。 [$ @ $!%#?&])[A-Za-z \ d $ @ $!%*#+ =() \ ^?&] {3,}包含空格
如果您想添加更多特殊字符,可以将其添加到正则表达式,就像我添加了'('(您需要在两个地方添加它)。
对于那些问自己这两个感叹号是什么的人,答案是:What is the !! (not not) operator in JavaScript?