IP正则表达式

大神哪位知道,IP正则表达式?

求最标准的ip正则表达式。百度上找了很多如
/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/

^(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])$
都不行。只能验证一般的IP

诸如每段前面有0开头的都应该验证为非法IP,如 0172.16.50.4 或01.2.5.6或172.01.2.3 或172.045.03.05

请验证后成功后再回复,谢谢
3楼的qingyuan058 的/(([1]{1}[0-9]{1}[0-9]{1}[.]{1})|([2]{1}[0-5]{1}[0-5]{1}[.]{1})|([1-9]{1}[0-9]{1}[.]{1})|([1-9]{1}[.]{1})|([0]{1}[.]{1})){3}(([1]{1}[0-9]{1}[0-9]{1})|([2]{1}[0-5]{1}[0-5]{1})|([1-9]{1}[0-9]{1})|([1-9]{1})|([0]{1})){1}/;用不了,连00172.16.80.1 都认为是合法的。

--------------------------------------

2楼zhasm给的正则也不行,,如果是032.4.5.6则验证不出来。
--------------------------------------------------------

如果实在不行,看来就只有把IP截取成4段单独验证是否第一位数是否为0了。
最新回答
仙味萝莉

2024-11-06 00:29:46

试一下这段代码。
^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$
千夜残夏

2024-11-06 02:30:30

ip的正则很烦,只能限制0-255,然后加点,重复三次,再加一次0-255
薄凉的只是时光

2024-11-06 02:45:22

java 代码中测试成立:
(([1]{1}[0-9]{1}[0-9]{1}[.]{1})|([2]{1}[0-5]{1}[0-5]{1}[.]{1})|([1-9]{1}[0-9]{1}[.]{1})|([1-9]{1}[.]{1})|([0]{1}[.]{1})){3}(([1]{1}[0-9]{1}[0-9]{1})|([2]{1}[0-5]{1}[0-5]{1})|([1-9]{1}[0-9]{1})|([1-9]{1})|([0]{1})){1}
乱世魔女

2024-11-06 07:03:00

二楼的,当某一区段为以2开头时测试已越界!
三楼的比较全面,将每个区段分为五种情况考虑!(我测00172.16.80.1的是不合法~~),按理说当IP全是一位时测试通常,但显示结果相反~~
如你所说,IP截取成4段单独验证:
/(^1\d\d$|^2[0-4]\d$|^25[0-5]$|^[1-9]\d$|^\d$)/