我知道这已被问了一百万次,但我似乎无法破解它。
我有这个:
function checkPassword(strPassword)
{
var objPattern = new RegExp("^.*(?=.{6,})(?=.*[a-z])[a-z0-9]*$");
var blnResult = objPattern.test(strPassword);
return(blnResult)
}
...但似乎只检查长度,而不是是否有数字?
我错过了什么?
编辑:
数字可以是字符串中的任何位置,不一定在结尾。
答案 0 :(得分:4)
保持简单:if(strPassword.length >= 6 && /\d/.test(strPassword))
将完成工作并且更具可读性
答案 1 :(得分:0)
您可以在功能中单独包含两个测试:
function checkPassword(strPassword){
var blnResult = /\w{6,}/.test(strPassword)
&& /\d+/.test(strPassword);
return(blnResult)
}
<强>演示:强>
function checkPassword(strPassword){
var blnResult = /\w{6,}/.test(strPassword)
&& /\d+/.test(strPassword);
return(blnResult)
}
var passwords = ["zeaezee2reer", "sds2", "ssdsdsdsdsd", "12155"];
passwords.forEach(function(p){
console.log(p+" ::: "+ checkPassword(p));
});
&#13;
答案 2 :(得分:0)
如果您需要6个字符加上1个数字,那么您可以使用 ^ [Az] {6} [0-9] {1} $ 或至少使用6个字符和至少1个数字然后使用的 ^ [AZ] {6,} [0-9] {1,} $ 强>