需要IP地址掩码和DNS主机名正则表达式?

时间:2013-03-18 13:01:16

标签: regex dns

我需要从文本框中允许IP / DNS名称。我正在寻找适用于IP的IP正则表达式。

现在我正在使用一个正则表达式:

/\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]?)\b/

适用于0-255范围。但是允许无效的IP,例如:121.21.05.234.01,它有5个部分。

我需要一个正则表达式,它可以在以下所有场景中使用:

10.2.22.1        - true
123.123.123.123  - true
123.123.023.12   - true
12.23.12.0       - true
121.21.05.234.01 - false

也请提供DNS表达。

2 个答案:

答案 0 :(得分:0)

尝试使用^$ anchor正则表达式,这将使其与整个字符串匹配。

答案 1 :(得分:0)

您是否正在寻找指定事件计数的方法? 您可以使用大括号来实现此目的。 例如here

在您的情况下,它会导致:

/\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]?)){3}\b/

(我添加了一个\来逃避点数)