这是我拥有的,有人可以告诉我我错在哪里吗?
let sampleWord = "bana12";
let pwRegex = /(?=\w{5})(?=\d{2,})/; // Change this line
let result = pwRegex.test(sampleWord);
console.log(result);
适用于仅包含字母或仅包含数字但不包含两者的密码。
答案 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,})/;