js如何驗證用戶輸入的只能是數字?


方法一
如果判斷輸入的是否是數字,如果不是數字彈出一個提示:簡易代碼如下:
<body>
<input type="text" id="inp"></table>
</body>
<script>
var oInp = document.getElementById('inp');
oInp.onblur=function(){
if(isNaN(Number(oInp.value))){  //當輸入不是數字的時候,Number后返回的值是NaN;然后用isNaN判斷。
alert('不是數字!')
}
}
</script>




方法二:
<script language="javascript"> 
function CheckMyForm() 

var txt = myform.mytext.value; 
if(checknumber(txt)) 

alert("只允許輸入數字!"); 
return false; 

return true; 

function checknumber(String) 

var Letters = "1234567890"; 
var i; 
var c; 
for( i = 0; i < String.length; i ++ ) 

c = String.charAt( i ); 
if (Letters.indexOf( c ) ==-1) 

return true; 


return false; 

</script> 
<body> 
<form name="myform" onSubmit="return CheckMyForm()"> 
<input type="text" name="mytext"> 
<input type="submit" name="mysubmit"> 
</form> 
</body>

方法三 :正則表達式

最完整最精確的方法:(正則表達式)

1)

   "^\\d+$"          //非負整數(正整數 + 0) 
  "^[0-9]*[1-9][0-9]*$"    //正整數 
  "^((-\\d+)|(0+))$"        //非正整數(負整數 + 0) 
  "^-[0-9]*[1-9][0-9]*$"    //負整數 
  "^-?\\d+$"           //整數 
  "^\\d+("           //非負浮點數(正浮點數 + 0) 
  "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"    //正浮點數
  "^((-\\d+("           //非正浮點數(負浮點數 + 0) 
  "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"    //負浮點數 
  "^(-?\\d+)("         //浮點數
2)

  var r = /^\+?[1-9][0-9]*$/;  //正整數 
      r.test(str);












免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM