2013-03-11 3 views
-1

Я знаю, что есть другие вопросы, подобные этому, но я прошу в любом случае, я пытаюсь проверить, что почтовый индекс содержит только введенные числа, а имя имеет только введенные буквы. Я попробовал некоторые из isNaN, но это не работало. Вот коды, которые я пытаюсь проверить.Проверка javascript - это число или только буквы

if(first_name.length < 2){ 
    alert("Please enter your first name."); 
    return false; 
}else if(zip=="" || zip.length < 5){ 
    alert("Please enter a valid zip code."); 
    return false; 

я судимое что-то вроде этого

}else if(zip=="" || zip.length < 5 || zip == isNaN){ 
    alert("Please enter a valid zip code."); 
    return false; 
+0

является '/ [A-Za-Z] + /. Тест (letters_only_string) и'/\ д + /. Тест (num_only_string) 'не достаточно хорошо? – Chad

+1

Не спрашивайте! – gdoron

+0

Используйте регулярное выражение для чего-то вроде этого. – kinakuta

ответ

4

простое решение: регулярное выражение

Тест 5-значный номер

/^\d{5}$/.test(your_string); 

Test, если только символы (не менее 3):

(/^[a-zA-Z] {3,} $ /. Test (your_string));

Играть с ним:

http://jsfiddle.net/BAKpY/2/

+0

regex на помощь! – PlantTheIdea

0

Если вы хотите действительный почтовый индекс, состоящий только из цифр, вам нужно больше, чем быть уверенным, что это действует.

var ext = null; 
ext = $("#inputId").value.match(/a-zA-Z/)[1]; 
if(ext != null){ 
    alert("Please enter a valid zip code."); 
} 
+0

у вас явно есть ошибки в вашем фрагменте. вы сопоставляете свойство value строки с регулярным выражением, которое (свойство value), скорее всего, не существует для строки. – vittore

+0

На самом деле это работает, зависит, получаете ли значение div (.html().) Или ввод (.value.match). .match() [1] возвращает остальную часть строки после первого совпадения. Помните, что это всего лишь проверка на письма – Mollo

+0

, вы обновили код, и все еще неправильно. вы должны использовать '$ (..). get (0) .value' или' $ (...). val() ' – vittore

Смежные вопросы