仅供学习,转载请注明出处
第一种方法:isNaN()
使用js自带全局函数isNaN(), isNaN()返回一个Boolean值,如下 :
代码语言:javascript复制<!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来处理,所以检查不严谨。
第二种方法:正则表达式
代码语言:javascript复制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复制<!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或其它,则不是数字。如下所示:
代码语言:javascript复制var a=123;
var b='123abc';
typeof(a) //Number
typeof(b) //String