正则表达式验证0到65535之间的数字

时间:2018-01-17 05:21:25

标签: regex

我需要一个正则表达式来验证0到65535范围内的正数。

允许:0,1,2 ...... 10,... 65535

不允许:001,000032,1.00,100.11,01.10等。

3 个答案:

答案 0 :(得分:1)

^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$

这个适用于所有0到65535。

答案 1 :(得分:0)

它有点不优雅,但我相信这有效:

0|([1-5][0-9]{0,4})|(6[1-4,0][0-9]{0,3})|(65[1-4,0][0-9]{0,2})|(655[1-2,0][0-9])|(6553[1-5,0])

https://regex101.com/r/XkpDHb/4

不确定是否有更好的方法让正则表达式将数字理解为值而不是数字列表。

答案 2 :(得分:0)

给你:

^(0|6[0-5][0-5][0-3][0-5]|[1-5][0-9][0-9][0-9][0-9]|[1-9][0-9]{0,3})$

去试试吧 https://regexr.com/