【问题标题】:IP Address RegExp SimplificationIP 地址正则表达式简化
【发布时间】:2013-02-21 21:55:22
【问题描述】:

我的目标是检测字符串是否为 IP 格式(用句点分隔的 4 个数字),以下语句有效,但我觉得必须有一种方法可以缩短。如果有,请告诉我。如果没有也可以,我就是想知道有没有。

/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/

请注意,这一切都在 JavaScript 中。 哦,我正在寻找的唯一建议是缩短它。我不需要比它更严格的了。

【问题讨论】:

  • 您的陈述有效。比如9898.2.2.34343434555.555.555.555都是ip地址?
  • 我不需要严格。唯一解析的是合法的IP地址,我不需要知道空白是否有资格成为IP,我需要知道它是否遵循num dot num dot num dot num结构。

标签: javascript regex ip


【解决方案1】:

如果您不关心数字模式的长度,而只关心结构应该可以工作并且更简洁:

^([0-9]+\.){3}[0-9]+

【讨论】:

  • 谢谢!正是我想要的:-)
  • 如果短是优先考虑[0-9]会更好\d。所以^(\d+\.){3}\d+$.
【解决方案2】:

是的,你可以。 试试下面的代码

^([0-9]+.){3}[0-9]+

【讨论】:

    【解决方案3】:

    如果遗漏了肯特所说的情况

    9898.2.2.34343434555.555.555.555

    没问题,您的数据表现良好^(\d+\.){3}\d+ 会短一点。 尝试保存字节?

    【讨论】:

    • 是的,我只是有一个问题,就是长代码做了一些几乎不需要的事情。我正在做的是使用它为请求我的服务器的主机切换“isIP”布尔值。
    猜你喜欢
    • 2011-06-20
    • 2017-03-15
    • 2015-11-22
    • 1970-01-01
    • 2012-04-17
    • 2012-12-23
    相关资源
    最近更新 更多