我需要驗證文本框條目。它應該只允許整數,因爲如果用戶在綁定期間在此字段中輸入字符,entityframework會失敗。parseFloat函數不能按預期工作
當用戶輸入在該領域10-d
,parseFloat
返回true
,因爲它需要10
作爲數並忽略其餘值:
這裏是問題。雖然國際海事組織它應該拋出NAN錯誤,因爲輸入文本不能轉換爲浮動。
請看下面的樣品,你可以玩它。 http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_parsefloat
我有興趣在上面的例子中得到NAN 40年的輸入。
document.write(parseFloat("40 years") + "<br />");
讓我知道如果我需要做一些更多的驗證。
使用'$ .isNumeric('10 -d ');'或'$ .isNumeric('10年')'都WIL回報假。 –
如果你想整數嘗試'parseInt(「string」,10)'。第二個參數是告訴它使用什麼數字基數的基數。在這種情況下,以10爲底。 – Jack
實際上'parseFloat('10 -d')'返回的是'10'而不是'true'。請訪問http://es5.github.com/#x15.1.2.3以查看'parseFloat()'的工作原理。 – Teemu