Angularjs中的主机名验证

时间:2014-08-29 07:21:05

标签: regex angularjs validation

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

它接受x.y.z.a等我想限制它只接受x.y.z.有谁知道我怎么解决它?

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

两次x.格式,最后有x