僅供學習,轉載請註明出處javascript
使用js自帶全局函數isNaN(), isNaN()返回一個Boolean值,以下 :html
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
;(function(){
var sTr = 'hello world';
alert("sTr=" + isNaN(sTr)); // 字符串輸出 true
var iNum = 1;
alert("iNum=" + isNaN(iNum)); // 數字輸出false
}())
</script>
</head>
<body>
</body>
</html>
複製代碼
若是以上sTr
爲一個空串或是一個空格,isNaN將把c看成數字0來處理,因此檢查不嚴謹。java
function checkNum(num){
var reg=/^[0-9]+.?[0-9]*$/; //判斷字符串是否爲數字 ,判斷正整數用/^[1-9]+[0-9]*]*$/
if(!reg.test(num)){
alert("請輸入數字");
return false;
}else{
alert("數字輸入正確");
return true;
}
}
複製代碼
完整測試代碼以下:正則表達式
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
window.onload = function(){
;(function(){
var iInput = document.getElementById('input1');
var iBtn1 = document.getElementById('btn1');
iBtn1.onclick = function(){
checkNum(input1.value);
}
function checkNum(num){
var reg=/^[0-9]+.?[0-9]*$/; //判斷字符串是否爲數字 ,判斷正整數用/^[1-9]+[0-9]*]*$/
if(!reg.test(num)){
alert("請輸入數字");
return false;
}else{
alert("數字輸入正確");
return true;
}
}
}())
}
</script>
</head>
<body>
<input type="text" name="" id="input1">
<input type="button" name="" value="檢查是否爲整數" id="btn1">
</body>
</html>
複製代碼
驗證方法:若是返回的值爲Number,則爲數字;若是返回值爲String或其它,則不是數字。以下所示:bash
var a=123;
var b='123abc';
typeof(a) //Number
typeof(b) //String
複製代碼