正则表达式匹配模式,也限制字符的数量

Kni*_*ght 0 javascript regex angularjs

我有正则表达式匹配模式的问题,也限制字符的数量:

例如,我允许数字前缀: 2, 31, 32, 35, 37, 38, 39, 41, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60

那么我只想要数字和整数的最大长度等于9.所以例如数字如:255555555将是好的但31555555555555555不会.

这是我试图解决这个问题,但它不能正常工作:

^( (2|31|32|35|37|38|39|41|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60)+[0-9]* ){9}$
Run Code Online (Sandbox Code Playgroud)

ndn*_*kov 5

使用正向前瞻来限制(但不匹配)前缀,然后恰好匹配9位数:

^(?=2|31|32|35|37|38|39|41|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60)\d{9}$
Run Code Online (Sandbox Code Playgroud)