Javascript Regex:字符串中的九位或十二位数字

时间:2011-10-18 09:04:38

标签: javascript regex

尝试使用正则表达式来验证字符串是否包含9或12位数(但不是10或11位),当前使用两个正则表达式的列表并检查输入字符串两次。这可以简化吗?

var regexes = [/^[0-9]{9}$/, /^[0-9]{12}$/]
for (var i = 0; i < regexes.length; ++i) {
       if (regexes[i].test(input))
           return true;
}
return false;

3 个答案:

答案 0 :(得分:5)

您可以使用这样的正则表达式:

/^[0-9]{9}([0-9]{3})?$/

所以9个数字,可能后跟3个数字。

然而,检查两种可能性并没有错。

答案 1 :(得分:2)

/^\d{9}(\d{3})?$/

这应该有效:D

答案 2 :(得分:2)

var regex = /^[0-9]{9}$|^[0-9]{12}$/;
if (input.match(regex)!= null)
    return true;