Regular expression to match specific number of digits
我试图编写一个只返回三位整数的正则表达式。不少于三个或多于三个。但是,下面的regex对于四位数也是正确的。我错过什么了吗?
1 2 3 4 5 | 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??? |
你有结束锚
1 | var threeDigits = /^\d{3}$/ |
如果没有锚,匹配可以从字符串中的任何位置开始,例如
1 | "1234".match(/\d{3}$/g) // ["234"] |
使用一个^[0-9]3或^d 3美元。