这里推荐新的。
这里有2个表达式我想得到最小长度,如果变量在标准[0-9]标记内至少有2个数字,并且至少有2个特殊字符。
以下是我用于测试的代码。
var noOfNumerics = /[0-9]/g;
var noOfSplChats = /[~\!@#\$%\^&*_\-\+=`\|\\(\)\{\}\[\]:;"'<>,\.\?\/]/g;
这是执行实际测试的代码。我已经看过教程,据我所知,我看到有最低限度和最高限度的要求,但我真的不想要最大值,但如果那不可能,我就可以了。
var numericsTest=noOfNumerics.test(Password);
var splCharTest=noOfSplChats.test(Password);
以下是输入错误的输入示例。
Password = 'test#1';
基本上就是这样。只需要添加至少2个数字和特殊字符的长度。我如何将该要求添加到我的脚本中?
答案 0 :(得分:2)
你可以这样做
var noOfNumerics = /.*\d.*\d.*/g;
你可以为noOfSplChats
做同样的事情只需使用\d
[~\!@#\$%\^&*_\-\+=``\|\\(\)\{\}\[\]:;"'<>,\.\?\/]
答案 1 :(得分:2)
使用前瞻:
/^(?=.*\d.*\d)(?=.*[!@#$].*[!@#$])/
答案 2 :(得分:2)
这样做的好处是可以调整将来需要的字符数。
function isValidPassword (p) {
var numDigits = p.match(/\d/g).length;
var numSpecial = p.match(/[~\!@#\$%\^&*_\-\+=`\|\\(\)\{\}\[\]:;"'<>,\.\?\/]/g).length;
return numDigits >= 2 && numSpecial >= 2;
}
如果您需要搜索非常长的字符串,可以使用RegExp.exec的循环,并在获得计数后立即退出