JavaScript 正则表达式 : nine or twelve digits in a string

标签 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;

最佳答案

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

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

所以 9 位数字,后面可能还有 3 位数字。

但是,检查两种可能性并没有什么问题。

关于JavaScript 正则表达式 : nine or twelve digits in a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7804806/

相关文章:

javascript - api 调用在一种方法中工作但在另一种方法中不起作用 ---TypeError : Cannot read property 'getResponse' of undefined

javascript - AngularJS:如何将 http 调用与变量同步?

javascript - setInterval 回调中出现异常

javascript - Ember Js、Ember-Highcharts 未更新图表数据的更改

regex - Mongo 反向正则表达式

javascript - 如何在 RegExp 中创建 OR 条件?

javascript - 使用Jquery动态添加不同形式的字段

javascript - 如何在javascript中使用正则表达式来匹配带双引号的字符串

javascript - 带有模式的 grunt-usemin 仅替换第一个匹配项

css - 使用 vi,如何删除所有包含 [searchterm] 的行?