2

フィールドが常に 4 桁になるように検証できましたが、常に数字になるように検証する必要があります。このコード ブロックを追加しようとしましたが、正しく動作しません。

if (!(document.ExamEntry.cand.value.match(numbers))) {
    msg += "Only use numeric characters \n";
    document.ExamEntry.cand.focus();
    document.getElementById('cand').style.color = "red";
    result = false;
}  

これにより、9a9a や !2#3 などの 4 桁の組み合わせが可能になります。「数字」変数を次のように追加しました。

var numbers = /[0-9]/;

この検証を行うより良い方法は何ですか?

4

2 に答える 2

6

ここで値を取得するとしましょう

var val = document.ExamEntry.cand.value;

次に、内部に4桁の数字が必要な場合は、これを行うだけです

var itIsNumber = /^\d{4}$/.test(val); // true if it is what you want

内部に1〜4桁の数字を入れたい場合は、これを行うだけです

var itIsNumber = /^\d{1,4}$/.test(val); // true if it is what you want

その他の例と詳細はこちら -->正規表現

于 2013-06-29T13:43:24.363 に答える
2

/^[0-9]{4}$/4つの数字

/^[0-9]*$/任意の数に対して

/^[0-9]+$/少なくとも 1 つの数値

于 2013-06-29T13:42:25.390 に答える