方法一
如果判斷輸入的是否是數字,如果不是數字彈出一個提示:簡易代碼如下:
<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);