3桁のみを許可し、次の基準に合格するテキストボックスの正規表現が必要です。
- 数字のみ (234 または 123) または
- 最後に小数点以下 1 つだけ (55.1)
- スペースを許可しないでください
- 10 進数を使用する場合は、10 進数の前後にも数値が必要です (555. または 12. または .12 は許可されません)。
部分的に機能する次の RE があります。
/^\d{0,3}$|^\d{0,2}[\.]\d{1}$/
これを変更する際の助けはありますか?
問題が追加されているように見えます:
キープレスでコードを使用しています。したがって、キーを押すと、押された各値が検証されます。
if (window.event) {
knum = e.keyCode;
}
else if (e.which) {
knum = e.which;
}
kchar = String.fromCharCode(knum);
numcheck = /^\d{0,3}$|^\d{0,2}[\.]\d{1}$/;
alert(numcheck.test(kchar));
小数点キーが押された場合は false を返します。55 を入力してから小数を途中で 5.5 にしようとしても、ite は false を返します。