#jquery #regex #validation #jquery-validate
#jquery #регулярное выражение #проверка #jquery-проверка
Вопрос:
Мне действительно сложно использовать Regex с плагином jquery validate. Мой код:
jQuery.validator.methods.nameCheck = function(value) {
return /^[a-zA-Z] (([',.- ][a-zA-Z ])?[a-zA-Z]*)*$/i.test(value);
};
jQuery.validator.methods.emailCheck = function(value) {
return /^[w-.] @([w-] .) [w-]{2,4}$/i.test(value);
};
jQuery.validator.methods.AddressRegex = function(value) {
return /^[a-zA-Z0-9][#amp;-',.]*$/i.test(value);
};
jQuery.validator.methods.lettersonly = function(value, element) {
return this.optional(element) || /^[a-zA-Z]*$/i.test(value);
};
jQuery.validator.methods.PasswordRegex = function(value) {
return /^[a-zA-Z0-9,!#$%^amp;*()_- .] $/i.test(value);
};
Первые два работают, но даже lettersonly, который кажется достаточно простым, не выполняет то, что он должен делать. Они вызываются должным образом далее по форме.
Комментарии:
1. Это удобный инструмент, который я использую для проверки моего регулярного выражения. Может помочь в этом или в будущем, когда вы будете работать с регулярным выражением. http://www.fileformat.info/tool/regex.htm
Ответ №1:
вот пример буквенно-цифрового символа, который, поскольку я использую его, если вы хотите просто альфа, удалите 0-9
jQuery.validator.addMethod("alphanumeric", function(value, element) {
return this.optional(element) || value.match(/^[a-zA-Z0-9] $/);
}, "This field may only contain alpha numeric characters.");
это должно помочь вам начать, просто дублируйте и корректируйте, используя ваше регулярное выражение
ооо, и я бы просто использовал электронную почту validate, а не создавал свою собственную
Комментарии:
1. Я не думаю, что мой босс «доверяет» проверке jquery, поэтому я добавил оба для хорошей оценки. Я добираюсь туда, спасибо!
2. ну, что бы вы ни хотели сделать, имейте в виду, что вы всегда должны выполнять двойную проверку на стороне сервера
3. итак, чтобы использовать это, вы бы просто сделали следующее? $(‘#myForm’).validate({ правила: { «myInput»: { буквенно-цифровой: true, …, …, }
4. @JeffSilva да, или вы могли бы просто добавить его как класс