仅供学习,转载请注明出处



第一种方法:isNaN()

使用js自带全局函数isNaN(), isNaN()返回一个Boolean值,如下 :

<!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>


JavaScript 判断输入的值为数字_javascript

JavaScript 判断输入的值为数字_字符串_02


如果以上​​sTr​​为一个空串或是一个空格,isNaN将把c当作数字0来处理,所以检查不严谨。


JavaScript 判断输入的值为数字_html_03


第二种方法:正则表达式

function checkNum(num){

var reg=/^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 ,判断正整数用/^[1-9]+[0-9]*]*$/

if(!reg.test(num)){
alert("请输入数字");
return false;
}else{
alert("数字输入正确");
return true;
}

}


JavaScript 判断输入的值为数字_字符串_04

JavaScript 判断输入的值为数字_html_05


完整测试代码如下:

<!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>

第三种方法: 利用typeof的返回值

验证方法:如果返回的值为Number,则为数字;如果返回值为String或其它,则不是数字。如下所示:

var a=123;

var b='123abc';

typeof(a) //Number

typeof(b) //String

JavaScript 判断输入的值为数字_javascript_06