1

我试图弄清楚如何确保用户使用 JavaScript 将 int 输入到文本字段中。目前,我有以下内容:

var myVal = $("#myField").val();
if (isInt(myVal)) {
  alert("Awesome!");
} else {
 alert("No Good");
}

function isInt(i) {
    if ((i != null) && (i != undefined) && (i.length > 0)) {
        alert(typeof i);
        return (typeof i == 'number' && /^-?\d+$/.test(i + ''));
    }
    return false;
}

如果我在文本字段中输入 123,我注意到它typeof i是“字符串”。我不确定如何执行这种验证。有人可以告诉我吗?当我用谷歌搜索这个时,我很惊讶我没有成功。

4

4 回答 4

4
​function isInt(myVal) {
    return /^[+-]?\d+$/.test(myVal);
}
于 2012-04-09T20:57:53.937 回答
2

您可以简单地使用!isNaN(+myVal)!isNaN(parseInt(myVal, 10))

于 2012-04-09T20:45:23.910 回答
0

这是一个简短而甜蜜的方式

function isInt(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}
于 2012-04-09T20:46:29.727 回答
0

如果您对非整数数字或字符串使用模数运算符,

返回余数或 NaN。

function isInt(i) {
   return i%1===0;
}
于 2012-04-09T20:57:32.350 回答