我還沒有看到使用驗證電話號碼和分機的jQuery驗證插件的良好RegEx。有沒有人有這個好的解決方案?所需的格式,可以顯示給用戶:即jquery驗證電話號碼和分機
Example: (555) 555-1234 x 1234
我還沒有看到使用驗證電話號碼和分機的jQuery驗證插件的良好RegEx。有沒有人有這個好的解決方案?所需的格式,可以顯示給用戶:即jquery驗證電話號碼和分機
Example: (555) 555-1234 x 1234
// 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);
},
根據您的文章,您可以使用正則表達式與此類似:
([0-9]{3}) [0-9]{3}-[0-9]{4} x [0-9]{4}
這可能不完全正確的...你可能不得不使用一些轉義字符,但這應該是基本的想法。
更多閱讀here。
你可以看看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");
你必須自己決定是否允許擴展是可選的或不可選(我把它留給可選)。
很棒的傢伙,工作很棒。檢查我的答案我是如何實施的。 – 2012-04-30 20:48:27