var text6 = document.getElementById("text6").value;
var regularExpression1 = /^[1-9]?[0-9]{1}$|^100$/;
if (!text6.match(regularExpression1)){
alert("Please enter Valid Age");
return false;
}
このコードは正しく機能していません
var text6 = document.getElementById("text6").value;
var regularExpression1 = /^[1-9]?[0-9]{1}$|^100$/;
if (!text6.match(regularExpression1)){
alert("Please enter Valid Age");
return false;
}
このコードは正しく機能していません
正規表現を使用しないでください。この関数を使用して、何かが数値であるかどうかを確認します
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
そしてあなたの場合
function isIntegerBetween0And100(n) {
return isNumber(n) && n>0 && n<=100 && n%1===0;
}
はるかに高速 :)
正規表現は使用していますが、は使用して|
いません()
。
/(^[1-9]?[0-9]{1}$|^100$)/
うまくいくでしょうが、それはもっと良いかもしれません。この式は、に簡略化できます。つまり、/^([1-9]?\d|100)$/
を繰り返す必要はなく、を繰り返す必要があり、常に不要です。^
$
[0-9]
\d
{1}
年齢を検証するのに正規表現が最適かどうかはわかりません。単純化できない理由がわかりません/^\d{1,3}$/
。物事は、人でさえ、100歳を超える可能性があります。
/regex/.test()
また、の代わりにを使用してフィールドを検証しますstring.match(/regex/)
。
年齢範囲の制限がある場合は、正規表現ではなく「通常のコード」でテストする方が、従い、変更するのが簡単です(上限が変更された場合)。