檢測輸入是否全是數字
阿新 • • 發佈:2019-01-28
只要輸入的內容有一個不是數字就能檢測出來;
html:
<input type="text">
<input type="button" value="檢測">
js:
// 文字框中取出來的值都是字串型別
// 例如:'123aa456',那麼我們要對字串進行檢測
var oInp = document.getElementsByTagName('input');
oInp[1].onclick = function(){
var val = oInp[0].value;//獲取輸入框中的值
if(detectNum(val)){//對輸入框的值進行檢測
alert('恭喜!'+val+'全是數字');
}else{
alert('抱歉!不全是數字');
}
}
// alert(detectNum('123456'));
//輸入的內容有一個不是數字就返回false,有空格也是false
// 封裝檢測字串的函式
function detectNum(str){
var n = 0;
for(var i=0;i<str.length;i++){
n = str.charCodeAt(i);
// 因為數字0~9的編碼是48-57,如果有一個編碼不在這個範圍內,那麼就不是數字
if(n<48 || n>57){
return false;//直接返回false,後面就不執行
}
}
return true;
}
注意:
1、從文字框中取出來的值都是字串型別;
2、detectNum(val);是封裝的檢測函式;
3、charCodeAt()用來檢視字元編碼;
4、數字0~9的編碼是48-57,如果有一個編碼不在這個範圍內,那麼就不全是數字,直接返回false;