我试图弄清楚如何确保用户使用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
是“字符串”。我不确定如何进行这种验证。有人可以告诉我吗?当我用Google搜索时,我感到很惊讶,我没有取得任何成功。
答案 0 :(得分:4)
function isInt(myVal) {
return /^[+-]?\d+$/.test(myVal);
}
答案 1 :(得分:2)
您只需使用!isNaN(+myVal)
或!isNaN(parseInt(myVal, 10))
答案 2 :(得分:0)
这是一个简短而又甜蜜的方式
function isInt(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
答案 3 :(得分:0)
如果对非整数或字符串使用模运算符,
返回余数或NaN。
function isInt(i) {
return i%1===0;
}