js判斷輸入的是否為數字
阿新 • • 發佈:2018-11-09
// 判斷輸入是否為數字
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
js中字串轉換為數字:
parseInt()函式可解析一個字串,並返回一個整數。
parseFloat()函式可解析一個字串,並返回一個浮點數。
parseInt("10"); //返回 10 parseInt("19",10); //返回 19 (10+9) parseInt("11",2); //返回 3 (2+1) parseInt("17",8); //返回 15 (8+7) parseInt("1f",16); //返回 31 (16+15) parseInt("010"); //未定:返回 10 或 8
<script>
document.write(parseFloat("10"))
document.write(parseFloat("10.00"))
document.write(parseFloat("10.33"))
document.write(parseFloat("34 45 66"))
document.write(parseFloat(" 60 "))
document.write(parseFloat("40 years"))
document.write(parseFloat("He was 40"))
</script>
輸出:
10 10 10.33 34 60 40 NaN
js中提供一個方法,判斷是不是一個數字。
IsNaN()函式用於檢查其引數是否是非數字值。
true 不是一個數字
false 是一個數字。
<script>
document.write(isNaN(123));
document.write(isNaN(-1.23));
document.write(isNaN(5-2));
document.write(isNaN(0));
document.write(isNaN("Hello"));
document.write(isNaN("2005/12/12"));
</script>
輸出:
false false false false true true
isFinite() 函式用於檢查其引數是否是無窮大。
如果 number 是有限數字(或可轉換為有限數字),那麼返回 true。否則,如果 number 是 NaN(非數字),或者是正、負無窮大的數,則返回 false。
<script>
document.write(isFinite(123)+ "<br />")
document.write(isFinite(-1.23)+ "<br />")
document.write(isFinite(5-2)+ "<br />")
document.write(isFinite(0)+ "<br />")
document.write(isFinite("Hello")+ "<br />")
document.write(isFinite("2005/12/12")+ "<br />")
</script>
輸出:
true
true
true
true
false
false