2013-01-24 51 views
0

可能重複:我使用JS在了Riak圖減少工作
Is there a (built-in) way in JavaScript to check if a string is a valid number?javascript和測試數字

。我有一個我想要映射的數字,並且需要成爲一個數字。

,如果我有一個變量:

var wp=sfggz5341&& or var=100 

如何,如果測試,如果是多少?

例如

if wp==Number:  
    OK 
else:  
    pass 
+0

可能的重複[有沒有(內置)在JavaScript中的方式來檢查,如果一個字符串是一個有效的數字?](http://stackoverflow.com/questions/175739/is-there-a-built-在JavaScript中檢查,如果一個字符串是一個有效數字),[檢查變量是數字或字符串在JavaScript](http://stackoverflow.com/questions/1303646) /檢查是否變量是數字或字符串在JavaScript) – sachleen

回答

2

可以使用typeof操作符(見MDN瞭解詳細信息):

var wp = "sfggz53141"; 
if (typeof wp === "number") { 
    // number here 
} else if (typeof wp === "string") { 
    // string here 
} 
+0

如果'wp'是''12345'','typeof wp'仍然是''string'' – KooiInc

+0

@KooiInc - 是的,因爲''12345'是一個字符串,不是數字。 OP詢問它是否是一個數字,而不是它是否可以轉換成數字。 – jfriend00

2

您可以使用:if (!isNaN(+wp))進行測試。換句話說,轉換「可能是號碼」到號碼(使用+運營商。如果不能轉換,結果是NaN。所以!isNaN(...)意味着它是一個數字。

0

您可以使用isNaN()isNumeric()

isNumeric()可以使用,但在下列情況下失敗:

// Whitespace strings: 
IsNumeric(' ') == true; 
IsNumeric('\t\t') == true; 
IsNumeric('\n\r') == true; 

// Number literals: 
IsNumeric(-1) == false; 
IsNumeric(0) == false; 
IsNumeric(1.1) == false; 
IsNumeric(8e5) == false; 

所以最好的方法是:

function isNumber(n) { 
    return !isNaN(parseFloat(n)) && isFinite(n); 
} 

參考:https://stackoverflow.com/a/1830844/462627

+0

什麼是數字() – sachleen

+0

@sachleen更新了答案... –

0

您可以使用!NaN(wp)檢查,如果字符串是一個數字。

0

嘗試使用
isNaN()

如果值爲NaN,假如果不是這個函數返回true。