jquery验证电话号码和分机号

时间:2012-04-27 17:54:53

标签: jquery validation

我没有看到一个好的RegEx使用jQuery验证插件来验证电话号码和扩展名。有没有人有这个很好的解决方案?可以向用户显示所需的格式:即

Example: (555) 555-1234 x 1234

3 个答案:

答案 0 :(得分:4)

您可以查看additional-methods.js文件,其中有几个选项。但是它们都不支持扩展,所以你必须修改一个以匹配你想要的(扩展部分为@jahroy建议)。这是一个类似的:

jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, "");
    return this.optional(element) || phone_number.length > 9 &&
        phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})\s*-?[2-9]\d{2}-?\d{4}(\s*x\s*\d{4})?$/);
}, "Please specify a valid phone number");

您必须自己决定是否允许扩展程序是可选的(我将其保留为可选)。

答案 1 :(得分:1)

根据您的帖子,您可以使用与此类似的正则表达式:

([0-9]{3}) [0-9]{3}-[0-9]{4} x [0-9]{4}

这可能不完全正确......你可能不得不使用一些转义字符,但那应该是基本的想法。

更多阅读here

答案 2 :(得分:0)

// custom extension regex
phone: function(value, element) {
    return this.optional(element) || /^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})\s*-?[2-9]\d{2}-?\d{4}(\s*x\s*\d{4})?$/.test(value);
},