混淆两个Regex表达式以检查至少一个数字

时间:2019-03-21 09:04:21

标签: javascript regex

我正在使用正则表达式来匹配长度超过5个字符并且在JavaScript中具有两个连续数字的密码。

我使用先行尝试了两种不同的方法,第一种方法返回false,而第二种方法返回true。

代码如下:

let sampleWord = "abc123";
let pwRegex = /(?=\w{5,})(?=\d{2,})/; //returns false
let result = pwRegex.test(sampleWord);
console.log(result);

let sampleWord = "abc123";
let pwRegex = /(?=\w{5,})(?=\D*\d{2,})/; //returns true
let result = pwRegex.test(sampleWord);
console.log(result);

唯一的区别是第二个也有\D*。据我所知,它会检查出现0次或多次的非数字值。但是为什么在这种情况下需要它?

P.S。这是FreeCodeCamp.org学习正则表达式的挑战的一部分

0 个答案:

没有答案