Использование jquery с регулярным выражением для проверки

#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 да, или вы могли бы просто добавить его как класс