完全10位数的电话号码验证

时间:2012-09-06 14:08:34

标签: jquery jquery-validate

我需要一个输入字段来验证一个10位数的电话号码,不多于10个数字,并删除任何破折号等。

以下是目前的代码:

jQuery.validator.addMethod ("phone", function(phone, element) {
if (phone == null) {
return false;
}
var stripped = phone.replace(/[\s()+-]|ext\.?/gi, "");
// 10 is the minimum number of numbers required
return this.optional(element) || ((/\d{10,10}/i).test(stripped));
}, "*Please enter a valid phone number.");

但是,如果用户输入的数字少于10位,则验证正常,但如果输入的数字超过10,则不会返回错误消息,并且可以提交表单。

任何帮助都会很棒!

谢谢!

1 个答案:

答案 0 :(得分:3)

您正在检查字符串中任意位置的10位数字,而不是检查整个字符串是否为10位数而不是其他内容:

return this.optional(element) || ((/^\d{10}$/).test(stripped));

-

^ =字符串的开头

$ =字符串结尾

不需要/i,只能使用alpha字符。

相关问题