如何检查用户输入是否为整数

How to check if the user input is an integer

本文关键字:输入 是否 整数 用户 何检查 检查      更新时间:2023-09-26

我正在创建一个需要两个用户输入的转换表,但是,我要做的是确保用户只输入一个整数,所以在我的转换表函数中,我在javascript中使用了一个内置函数,称为isNan这意味着不是数字,但是,当用户输入负数或字母时,消息不会显示。

<html>
<head>
<script type = "text/javascript">
function conversion(n) {
<!--if(n<1);-->
return (n/0.62137).toFixed(2);
}
function conversionTable(rangeStart, rangeEnd) {
if(atLeastOneRadio()) {
    divStr="<table border=1><tr><td>Miles</td><td>Kilometres</td></tr>";
    if(isNaN(i)){document.write("Please input an integer")}
    else {
    for(i=rangeStart;i<=rangeEnd;i++) {
        divStr+="<tr><td>" + i + "</td><td>" + conversion(i) + "</td></tr>";
  }
    document.getElementById("divResult").innerHTML=divStr;
}}
}
function getnputValue() {
return parseInt(document.getElementById("rangeTxt").value);
}
function check() {
var radios = document.getElementsByName("choice");
for (var i = 0, len = radios.length; i < len; i++) {
if (radios[i].checked) {
    return true;
}
}
return false;
}
function atLeastOneRadio() {
return ($('input[type=radio]:checked').length > 0);
}
</script>
</head>
<body>
<p>
Start : <input type=textbox id=rangeTxt value=""/>
Finish : <input type=textbox id=rangeTxt2 value=""/>
<input type=radio name="convert" id="mtokm" value ="Miles to Kilometre"/>     Miles to Kilometre
<input type=radio name="convert" id="kmtom" value ="Kilometre to Miles"/>   Kilometre to Miles
<br>
<br>
<button       onClick="conversionTable(getnputValue(),parseInt(document.getElementById('rangeTxt2').value))">Convert</button>
</p>
<div id="divResult">
</div>
</body>
</html>
Function checkIfValidInteger(var input)
    var isValid = false;
    If(input>=0)
         IsValid = true;
return isValid;

如果输入是包含数字以外的其他内容的字符串(即"0csh")或小于 0,则 isValid 将保持 false。如果输入大于或等于 0,或者仅由数字组成的字符串(即"0182")将为真