我的正则表达式验证子域的问题?

时间:2011-01-02 12:40:24

标签: javascript regex

所有的问候 我需要子域类似:

sub1 (letters or digits)
sub1-sub (letters or digits-letters or digits)

所以我使用以下JavaScript正则表达式,但它总是返回false 我不知道为什么,请指教。

var reg  = /^[A-Z0-9]?[-A-Z0-9]$/i;

2 个答案:

答案 0 :(得分:2)

也许你忘记了一个*?

var reg  = /^[A-Z0-9]?[-A-Z0-9]*$/i;

答案 1 :(得分:2)

您的模式仅描述了第一个可以省略的两个字符。

我想你想要这个:

/^[A-Z0-9]+(?:-[A-Z0-9]+)*$/i