2013-08-21 2 views
0

Я уже ломаю голову над этим. Я не использовал jQuery Validate, я написал собственный скрипт проверки для формы заявки. Единственное: все в моей форме проверяет штраф, за исключением полей firstname и lastname, оно позволяет использовать пробелы вместо букв (чего я не хочу), и я хочу, чтобы он принимал буквы, пробелы или числа.Проверка формы jQuery - Разрешить только буквы - Также запретить пробелы

Единственное, что я могу сделать, чтобы это сделать. Он понимает, что если ничто не вставлено в поля первого и последнего имени, то оно не будет проверяться, и вы не сможете продолжить вторую страницу формы, если в этих двух полях не существует чего-то другого.

К сожалению, вы можете просто разместить пробел в обоих полях, и он примет это .. не хорошо .. Кроме того, вы можете использовать номера, также не очень хорошо.

Мне нужны только буквы, которые можно разрешить на обоих полях, и попробовали несколько вещей, но безрезультатно.

Вот код, который делает Проверяющий для этих двух полей:

if(firstname!="" && firstname.match(/^[a-zA-Z_]$/)) { 
      $("#FirstName").parent("label").css('color','#444'); 
     }else { 
      $(".errors").append("<br/>Please enter your First Name").show(); 
      $("#FirstName").parent("label").css('color','#FF0000'); 
     } 
     if(surname!="" && surname.match(/^[a-zA-Z_]$/)) { 
      $("#Surname").parent("label").css('color','#444'); 
     }else { 
      $(".errors").append("<br/>Please enter your Last Name").show(); 
      $("#Surname").parent("label").css('color','#FF0000'); 
     } 

ответ

1

Вы можете проверить этот путь.

if(firstname!="" && (firstname.match(/^[a-zA-Z]$/) !== null)) { 
      $("#FirstName").parent("label").css('color','#444'); 
     }else { 
      $(".errors").append("<br/>Please enter your First Name").show(); 
      $("#FirstName").parent("label").css('color','#FF0000'); 
     } 
     if(surname!="" && (surname.match(/^[a-zA-Z]$/) !== null)) { 
      $("#Surname").parent("label").css('color','#444'); 
     }else { 
      $(".errors").append("<br/>Please enter your Last Name").show(); 
      $("#Surname").parent("label").css('color','#FF0000'); 
     } 

Однако я бы рекомендовал позволяет пространства в целом в фамилии/фамилии, как разные люди имеют фамилии, такие как «Van Dam» и т.д.

Редактировать

я удалил подчеркивание из Regex, чтобы запретить подчеркивание, поскольку вы предназначены только для писем.

+0

В любом случае я могу помешать людям просто помещать пробел, так как форма все еще проверяет и переходит на следующую страницу, просто пробел в полях имени и фамилии. Это моя реальная проблема, поскольку я не могу для жизни меня выяснить, как предотвратить исключительное пространство от проверки как имени. Кроме того, большое спасибо за помощь! = 0) – c0d3n4m3

+0

Это странно, поскольку я тестировал выше в моей консоли, и он не будет проверять true, если у меня есть место как фамилия. Откуда вы получаете свои имя/фамилию? Возможно, вы можете поместить свой код в jsfiddle.net? –

+0

Здесь вы можете взглянуть на это - он будет отмечать ошибки, если добавлено пространство. http://jsfiddle.net/9VgMN/2/ –