ip的正则表达式 完美版

IP地址的长度为32位2进制,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开。例如:IP地址为10.0.0.100。

分析IP地址的每组数特点:百位,十位,个位。 
分开考虑如下:,

1. 没有百位,没有十位,0-9;

2. 没有百位,十位1-9,个位0-9  // 十位不为0,所以127.000.00.1,是通不过的

3. 百位是1,十位0-9,个位0-9

4. 百位是2, 十位0-4,个位0-9

5. 百位是2,十位是5,个位0-5

正则如下:

^((d|[1-9]d|1dd|2[0-4]d|25[0-5]).){3}(d|[1-9]d|1dd|2[0-4]d|25[0-5])$

/^((d|[1-9]d|1dd|2[0-4]d|25[0-5]).){3}(d|[1-9]d|1dd|2[0-4]d|25[0-5])$/.test('255.255.255.255') //true

/^((d|[1-9]d|1dd|2[0-4]d|25[0-5]).){3}(d|[1-9]d|1dd|2[0-4]d|25[0-5])$/.test('255.255.10.00') //false
原文地址:https://www.cnblogs.com/cssfirefly/p/5238589.html