2015-04-03 163 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