0

jQuery フォーム検証を使用してフォームを検証しています。フィールドの 1 つは 4 桁のスペース 4 桁である必要があります。1234 5678

スペースをハイフンに置き換えるかどうかを検証できます。

$.validator.addMethod("companynumber", function(value, element) {
var regexp = /^[0-9]{4}[-][0-9]{4}$/;
var strippedValue = value.replace(/\s/g, '');
return this.optional(element) || regexp.test(strippedValue);
},  "Enter a valid Company Number.");

しかし、数字ブロック間の単一スペースの正規表現に入れる必要があるものを見つけることができません。誰か助けてもらえますか?

4

1 に答える 1

1

Acheong87 は でスペースを取得できるのは正しいですが/^[0-9]{4} [0-9]{4}$/、正規表現に対してチェックする前にスペースも削除しているようです。正規表現を適切に一致させたい場合strippedValueは、regexp.test を使用しないでください。

したがって、次のようなものが機能するはずです。

$.validator.addMethod("companynumber", function(value, element) {
var regexp = /^[0-9]{4} [0-9]{4}$/;
return this.optional(element) || regexp.test(value);
},  "Enter a valid Company Number.");
于 2013-09-11T15:49:07.813 に答える