判断输入的是否是数字

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>

<body>

<input type="text" />
<input type="button" value="检测" />

<script>


var aInp = document.getElementsByTagName('input');

aInp[1].onclick = function () {
    
    var val = aInp[0].value;  //获取输入的字符串
    
    if ( detectNum(val) ) {
        alert( '恭喜,'+ val +'全是数字' );
    } else {
        alert('输入有误');
    }
};

function detectNum ( str ) {  //判断输入的字符串是否是数字,如果是返回true,如果不是返回false
    var n = 0;
    for ( var i=0; i<str.length; i++ ) {   //挨个检测输入的字符串
        n = str.charCodeAt(i);   
        if ( n<48 || n>57 )return false;   //如果编码不再48-57之间就不是数字,返回false
    }
    return true;  //如果检测通过了就返回true
}

</script>

</body>
</html>

 方法2:

不严谨,如果是空格会判断失误

window.onload = function (){
    var aInp = document.getElementsByTagName('input');
    var str = '';
    aInp[1].onclick = function (){
        str = aInp[0].value;
        if( isNaN(str) ){
            alert( str + '不是数字' );
        }else{
            alert( str + '是数字' );
        }
    };
};
<input type="text" />
<input type="button" value="判断输入值是不是数字" />

 方法3:正则表达式

posted @ 2017-03-23 17:46  念念念不忘  阅读(410)  评论(0)    收藏  举报