正则表达式 带掩码的有效 IP 地址
Regex Valid IP adresse with mask
我的正则表达式有问题我有这个
<asp:TextBox CssClass="form-control" pattern="\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\/(3[0-2]|[0-2][0-9]|[0-9]))\b" placeholder="Adresse IP" ID="Ip_address" runat="server" />
这是我的正则表达式
\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\/(3[0-2]|[0-2][0-9]|[0-9]))\b
例如,当 IP 地址低于 200.200.200.200 时,它会强制用户添加掩码 /1,但当它等于或高于它时,它不起作用
我实际拥有的
1.1.1.1
-> 强制 /something
所以它工作
199.199.199.199
-> 强制 /something
所以它工作
200.200.200.200
-> 不强制 /something
所以它不起作用
250.250.250.250
-> 不强制 /something
所以它不起作用
您需要确保将正则表达式的这些部分正确分组。您可以使用
^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}\/(?:3[0-2]|[0-2]?[0-9])$
见regex demo。 详情:
^
- 字符串开头
(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
- 八位字节模式
(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}
- 三个 .
和一个八位字节模式
\/
- 一个 /
字符
(?:3[0-2]|[0-2]?[0-9])
- 3
然后是 0
、1
或 2
,或可选的 0
、1
或 2
后跟任何一位数字。
$
- 字符串结尾。
我的正则表达式有问题我有这个
<asp:TextBox CssClass="form-control" pattern="\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\/(3[0-2]|[0-2][0-9]|[0-9]))\b" placeholder="Adresse IP" ID="Ip_address" runat="server" />
这是我的正则表达式
\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\/(3[0-2]|[0-2][0-9]|[0-9]))\b
例如,当 IP 地址低于 200.200.200.200 时,它会强制用户添加掩码 /1,但当它等于或高于它时,它不起作用
我实际拥有的
1.1.1.1
-> 强制 /something
所以它工作
199.199.199.199
-> 强制 /something
所以它工作
200.200.200.200
-> 不强制 /something
所以它不起作用
250.250.250.250
-> 不强制 /something
所以它不起作用
您需要确保将正则表达式的这些部分正确分组。您可以使用
^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}\/(?:3[0-2]|[0-2]?[0-9])$
见regex demo。 详情:
^
- 字符串开头(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
- 八位字节模式(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}
- 三个.
和一个八位字节模式\/
- 一个/
字符(?:3[0-2]|[0-2]?[0-9])
-3
然后是0
、1
或2
,或可选的0
、1
或2
后跟任何一位数字。$
- 字符串结尾。