您的位置:首页 > Web前端 > JavaScript

js如何验证用户输入的只能是数字?

2015-08-12 21:47 816 查看
方法一
如果判断输入的是否是数字,如果不是数字弹出一个提示:简易代码如下:
<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);

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: