admin管理员组文章数量:1433496
I am trying to write a regular expression which returns a three digit integer only. Not less than three or more than three. However my regex below is also true for four digit numbers. Am i missing something?
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???
I am trying to write a regular expression which returns a three digit integer only. Not less than three or more than three. However my regex below is also true for four digit numbers. Am i missing something?
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???
Share
Improve this question
asked May 17, 2017 at 17:01
ochieng benjaochieng benja
791 silver badge8 bronze badges
1
-
You should use
^\d{3}$
where^
is for start of string. – Sahil Gulati Commented May 17, 2017 at 17:02
2 Answers
Reset to default 6You have the ending anchor $
, but not the starting anchor ^
:
var threeDigits = /^\d{3}$/
Without the anchor, the match can start anywhere in the string, e.g.
"1234".match(/\d{3}$/g) // ["234"]
Use either one ^[0-9]{3}$ or ^\d{3}$ .
本文标签: javascriptRegular expression to match specific number of digitsStack Overflow
版权声明:本文标题:javascript - Regular expression to match specific number of digits - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745615095a2666350.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论