2015-04-03 6 views
0

У меня есть быстрое поле формы, где вы можете ввести свой возраст. Когда пользователь вводит свой возраст в словах (например: двадцать), он должен дать быстрое предупреждение о том, что возраст должен быть в цифрах.jquery check, если номер напечатан isNaN

Это мой код и он не работает

var formAge = $("<input class='inputClass' type='text' placeholder='bv.: 21'/>").appendTo(formDiv);  

$(formAge).blur(function(){ 
    if($(this).val() == isNaN){ 
     alert("insert a number"); 
    } 
}) 
+1

Замените, если условие с этим условием, если (IsNaN ($ (это) .value)) { – stanze

+0

Вы бы лучше с простым регулярным выражением. – lshettyl

ответ

1

Вы должны использовать JavaScript isNaN() функцию.

Измените ваш код

if(isNaN($(this).val())) 
{ 
     alert("insert a number"); 
} 

var a = isNaN(123) + "<br>"; 
var b = isNaN(-1.23) + "<br>"; 
var c = isNaN(5-2) + "<br>"; 
var d = isNaN(0) + "<br>"; 
var e = isNaN("Hello") + "<br>"; 
var f = isNaN("2005/12/12") + "<br>"; 

var res = a + b + c + d + e + f; 

Выход

false 
false 
false 
false 
true 
true 
+0

Вам не хватает важного случая: 'isNan (" 2.365 ") == true' –

+0

@JuanMendes, который по-прежнему является числом. и это приведет к ** false **. – Jai

+0

@Jai Я действительно хотел сказать 'isNan (" 2.365 ")! = True', который на самом деле не является числом, это строка, которая может быть преобразована в число, которое является тем, что вы возвращаете из текстового поля. –