2015-04-03 164 views
0

我有一个快速的表单域,您可以输入您的年龄。当用户用文字(如:20)输入他/她的年龄时,它应该提供一个快速警报,告诉年龄应该是数字。jquery检查数字是否输入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 2015-04-03 10:38:21

+0

你会更好与一个简单的正则表达式。 – lshettyl 2015-04-03 11:21:50

回答

3
if(isNaN($(this).val()){ 
    alert("insert a number"); 
} 
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' – 2015-04-03 10:44:33

+0

@JuanMendes仍然是一个数字。这会导致** false **。 – Jai 2015-04-03 10:47:23

+0

@Jai我的意思是说'isNan(“2.365”)!= true'这不是一个真正的数字,它是一个字符串,可以转换为一个数字,这就是你从文本字段返回的数字 – 2015-04-03 11:23:49