正则表达式匹配长度大于5个字符且有两个连续数字的密码

时间:2017-12-06 06:58:14

标签: javascript regex

这是我拥有的,有人可以告诉我我错在哪里吗?

let sampleWord = "bana12";
let pwRegex = /(?=\w{5})(?=\d{2,})/; // Change this line
let result = pwRegex.test(sampleWord);
console.log(result);

适用于仅包含字母或仅包含数字但不包含两者的密码。

1 个答案:

答案 0 :(得分:2)

.*之前使用\d{2},因为连续数字可能出现在字符串中的任何位置。您当前的正则表达式应该检查最初是否存在两位数。



let sampleWord = "bana12";
let pwRegex = /^(?=\w{5})(?=.*\d{2,})/; // Change this line
console.log( pwRegex.test(sampleWord))




请注意,\w仅匹配单词字符,因此如果输入字符串包含5个非单词字符,则正则表达式将失败。因此,为了检查字符串长度,最好使用.而不是\w

let pwRegex = /^(?=.{5})(?=.*\d{2,})/;