0
我想驗證用戶輸入以確保它們鍵入的內容(如果有的話 - 字段不是必需的)是一個數字。現在我不在乎這個數字是什麼,但它必須是一個整數。消極的,積極的,無論什麼後來驗證。這是到目前爲止,我的測試樣品:驗證文本輸入爲一個數字 - JavaScript
var a=["",0,"0",-2,"-2",2,"2",-2.2,"-2.2",2.2,"2.2",-1,"-1",undefined,null,NaN,Infinity,-Infinity],x;
for(x=0;x<a.length;x++){
console.log(a[x],(isNaN(+a[x]) || Math.round(+a[x]) != +a[x] || +a[x] === null || +a[x]+1==+a[x])?false:true);
}
如果運行在一個控制檯,它顯示的任何元素真正在其中將通過驗證,否則爲false。我的問題是,這項工作將在所有主流瀏覽器(包括IE 6+)中完成,並且我已經完全檢查過了嗎?這對每一個可能的輸入
作爲一個說明:。
+
在a[x]
類型轉換(以及修剪串的前面使用 -" 2 "
被轉換到2
最後一張支票
+a[x]+1===+a[x]
是針對(+/-)Infinity
的支票。
謝謝:)。
爲什麼你不只是檢查主要的瀏覽器?你似乎已經涵蓋了幾乎所有的東西。沒有我知道的JS怪癖。 –