尝试使用正则表达式来验证字符串是否包含 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/