Javascript 匹配特定位数的正则表达式
我正在尝试编写一个只返回三位整数的正则表达式。不少于三个或多于三个。然而,我下面的正则表达式对于四位数也是正确的。我错过什么了吗Javascript 匹配特定位数的正则表达式,javascript,regex,Javascript,Regex,我正在尝试编写一个只返回三位整数的正则表达式。不少于三个或多于三个。然而,我下面的正则表达式对于四位数也是正确的。我错过什么了吗 var threeDigits = /\d{3}$/ console.log(threeDigits.test("12"))// false console.log(threeDigits.test("123"))// true console.log(threeDigits.test("1234"))// true yet this is four digits?
var threeDigits = /\d{3}$/
console.log(threeDigits.test("12"))// false
console.log(threeDigits.test("123"))// true
console.log(threeDigits.test("1234"))// true yet this is four digits???
您有结束锚点
$
,但没有起始锚点^
:
var threeDigits = /^\d{3}$/
如果没有锚,比赛可以从绳子的任何地方开始,例如
"1234".match(/\d{3}$/g) // ["234"]
您有结束锚点
$
,但没有起始锚点^
:
var threeDigits = /^\d{3}$/
如果没有锚,比赛可以从绳子的任何地方开始,例如
"1234".match(/\d{3}$/g) // ["234"]
使用一个^[0-9]{3}$或^\d{3}$。使用一个^[0-9]{3}$或^\d{3}$。您应该使用
^\d{3}$
其中^
是字符串的开头。您应该使用^\d{3}$
其中^/code>是字符串的开头。