2

10桁の電話番号のみを検証する入力フィールドが必要です.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 桁を超えるとエラー メッセージは返されず、フォームを送信できます。

どんな助けでも素晴らしいでしょう!

ありがとう!

4

1 に答える 1

3

文字列内の任意の場所で 10 桁をチェックしています。代わりに、文字列全体が 10 桁であり、他に何もないかどうかを確認します。

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

-

^= 文字列の開始

$= 文字列の終わり

は必要ありません/i。これは、アルファ文字でのみ機能します。

于 2012-09-06T14:10:37.497 に答える