カスタム正規表現メソッドがあります:
$.validator.addMethod(
"dateRegex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Date must be in the format MM/DD/YYYY"
);
次のような日付フィールドで jQuery 検証を行いました。
rules:
date:
{
required: true,
dateRegex: '^(0[1-9]|1[012])[- //.](0[1-9]|[12][0-9]|3[01])[- //.](19|20)\d\d$',
maxlength: 10
}
}
messages: {
lossDate: {
required: "Unable to proceed, search field is empty"
}
}
有効な日付 (2013 年 8 月 6 日など) を入力すると、「日付は MM/DD/YYYY の形式である必要があります」と表示されます。誰かが私の正規表現に間違いを見ていますか、それとも問題はそれ以外にありますか?
テスト データはここに渡されます: http://regexpal.com/
また、アプリで次の作業を行っています。
$.validator.addMethod(
"regex",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Invalid number of characters entered."
);
number:
{
required: true,
regex: '^(.{7}|.{9}|.{11}|.{12}|.{15})$'
},...