jQuery のValidationプラグインを使用してフォームを検証していますが、これはうまくいっています。メールアドレスやURLなどをチェックする組み込みの方法があることは知っていますが、特定の正規表現をチェックしたいと思います(^[a-zA-Z\ ]+$
この場合、一般的な答えを探しています)。
プラグインに正規表現をチェックさせるにはどうすればよいですか?
jQuery のValidationプラグインを使用してフォームを検証していますが、これはうまくいっています。メールアドレスやURLなどをチェックする組み込みの方法があることは知っていますが、特定の正規表現をチェックしたいと思います(^[a-zA-Z\ ]+$
この場合、一般的な答えを探しています)。
プラグインに正規表現をチェックさせるにはどうすればよいですか?
リンク先のドキュメントを見ると、addMethod
.
おそらく(私はこのプラグインを使用していません)次のようなものです:
$.validator.addMethod("myMethod", function(text) {
var regex = /^[a-zA-Z\ ]+$/;
return regex.test(text);
}, "Custom error message");
独自の正規表現メソッドを作成することで、さらに一歩進めることができます。
$.validator.addMethod("regex", function(text, pattern) {
return pattern.test(text);
}, "Pattern does not match.");
次のようなことをする必要があります:
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Please check your input."
);
正規表現に対して検証するために必要なことは次のとおりです。
$("#Textbox").rules("add", { regex: "^[a-zA-Z'.\\s]{1,40}$" })
このサンプルを持っていたので、貼り付けてみようと思いました。正規表現パターンを再度チェックするメソッドを定義しており、以下のコードでは特定のコントロールにルールを適用しています。要件に合わせて検証条件と正規表現パターンを変更してください。