Method One
If you determine whether the input is a number, if it is not a number popup a hint: The simple code is as follows:
<body>
<input type= "text" id= "INP" ></table>
</body>
<script>
var oinp = document.getElementById (' InP ');
Oinp.onblur=function () {
if (IsNaN (number (Oinp.value))) {//when the input is not a digit, the value returned is Nan, and then judged by IsNaN.
Alert (' Not a number! ‘)
}
}
</script>
Method Two:
<script language= "JavaScript" >
function Checkmyform ()
{
var txt = myform.mytext.value;
if (CheckNumber (TXT))
{
Alert ("Only allow numbers! ");
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>
method Three: Regular expressions
The most complete and accurate method: (Regular expression)
1)
"^\\d+$"//nonnegative integer (positive integer + 0)
"^[0-9]*[1-9][0-9]*$"//Positive integer
"^ ((-\\d+) | (0+)) $ "//non-positive integer (negative integer + 0)
"^-[0-9]*[1-9][0-9]*$"//Negative integer
"^-?\\d+$"//Integer
"^\\d+ ("//non-negative floating-point number (positive floating point + 0)
^ ([0-9]+\\]. [0-9]*[1-9][0-9]*) | ([0-9]*[1-9][0-9]*\\. [0-9]+) | ([0-9]*[1-9][0-9]*)) $ "//positive floating-point number
"^ ((-\\d+ ("///non-positive floating-point number (negative float + 0)
^ (-([0-9]+\\]. [0-9]*[1-9][0-9]*) | ([0-9]*[1-9][0-9]*\\. [0-9]+) | ([0-9]*[1-9][0-9]*))) $ "//negative floating-point number
^ (-?\\d+) ("//floating-point
2)
var r =/^\+? [1-9] [0-9]*$/; Positive integers
R.test (str);
JS How to verify that the user input can only be a number?