電話番号と内線番号を検証する jQuery 検証プラグインを使用した優れた正規表現は見たことがありません。誰かがこれに対する良い解決策を持っていますか? 必要な形式をユーザーに表示できます。
Example: (555) 555-1234 x 1234
電話番号と内線番号を検証する jQuery 検証プラグインを使用した優れた正規表現は見たことがありません。誰かがこれに対する良い解決策を持っていますか? 必要な形式をユーザーに表示できます。
Example: (555) 555-1234 x 1234
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");
拡張機能をオプションにするかどうかは、自分で決める必要があります (私はオプションのままにしました)。
投稿に基づいて、次のような正規表現を使用できます。
([0-9]{3}) [0-9]{3}-[0-9]{4} x [0-9]{4}
それは正確には正しくないかもしれません...あなたはいくつかのエスケープ文字を使わなければならないかもしれません、しかしそれは基本的な考えであるべきです。
詳細はこちら。
// 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);
},