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 に答える