我想要一个函数checkPassword函数,该函数应检查密码参数是否符合以下规则:
如果密码参数符合上述规则,checkPassword应该向控制台打印“true”,如果不符合,则为“false”。
答案 0 :(得分:3)
您可以使用以下正则表达式并获取捕获组的内容以检查您的字符串是否有效:
.*\d{3}.*|^([\w\+$#/\\]{6,})$
<强> Working demo 强>
使用\w
允许A-Za-z0-9_
如果您不想在正则表达式中使用下划线,则必须将\w
替换为A-Za-z0-9
以下示例:
pass12p --> Pass
pass125p --> Won't pass
asdfasf12asdf34 --> Pass
asdfasf12345asdf34 --> Won't pass
匹配信息是:
MATCH 1
1. `pass12p`
MATCH 2
1. `asdfasf12asdf34`
答案 1 :(得分:0)
最好的方法是使用两个单独的正则表达式。首先,确保密码与第一个匹配,检查是否符合规则#1和#2:
[A-Za-z0-9#$\/\\\+]{6,}
然后,确保密码不匹配第二个正则表达式,该正则表达式检查密码中任何位置是否存在3个连续数字序列:
\d{3}
答案 2 :(得分:-1)
function checkPassword(str) {
console.log( /^(?!.*\d{3})[+a-z\d$#\\/]{6,}$/i.test(str) );
}