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);

 

转自:https://www.cnblogs.com/chuanqimessi/p/4725663.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值