【问题标题】:Hostname validation in AngularjsAngularjs 中的主机名验证
【发布时间】:2014-08-29 07:21:04
【问题描述】:

我想验证主机名(即 x.y.z 格式)。目前我正在使用下面的正则表达式,但它不起作用。

它接受 x.y.z.a 等。我想限制它只接受 x.y.z。有谁知道我该如何解决?

/^([a-z0-9]+(-[a-z0-9]+)*\.)+([a-z]{2,12})$/i

【问题讨论】:

    标签: regex angularjs validation


    【解决方案1】:

    只需将+ 修饰符替换为{1,2}

    /^([a-z0-9]+(-[a-z0-9]+)*\.){1,2}([a-z]{2,12})$/i
    

    而且,如果您不需要捕获组:

    /^(?:[a-z0-9]+(?:-[a-z0-9]+)*\.){1,2}[a-z]{2,12}$/i
    

    如果您只需要 3 个部分 (x.y.z),请使用 {2} 而不是 {1,2}

    /^(?:[a-z0-9]+(?:-[a-z0-9]+)*\.){2}[a-z]{2,12}$/i
    

    【讨论】:

      【解决方案2】:

      这将完成这项工作。以上正则表达式将仅匹配 x.y.z 格式

      ^([a-z0-9]\.){2}[a-z0-9]$
      

      两次x. 格式,最后是x

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-28
        • 1970-01-01
        • 2015-08-25
        • 2020-11-15
        • 2013-01-15
        • 1970-01-01
        相关资源
        最近更新 更多