は、テキストフィールドが下に続くregxまたはパターン - 同じ文字を複数回入力するのを防ぐにはどうすればよいですか?
としてだけ進数と数の値を入力することができるようにしようとしていますが
有効
.099
.8
10
99.9
2.9
4.88
0.0
ある無効
abc
ac$%$
asdf90
09.89abg#$#
-903abe
+8938/.99
....90.97
すべてが今のところ大丈夫です。私は、ユーザーが小数点または小数点以下の小数点を数字なしで入力すると、テキストフィールドの境界線を強調表示したいと考えています。有効な入力があったときにハイライトが削除されるはずです。
以下のコードを非常に簡単にする方法。
<input type = "text" maxlength = 4, value ="0.0", min=0 max=100/>
$(key).bind("#txtOne", function(obj){ // but i dont know why this Jquery allow character be entered sometimes
let numberOnly=/^[0-9]+\\.?[0-9]*$/;
if (!numberOnly) {
return obj.preventDefault();
}else{
return true;
}
});
$("#txtOne").on("keypress keyup blur", function(event) { //after including this, working as expect
$(this).val($(this).val().replace(/[^0-9\.]/g, ''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
助けを惜しみません。
可能な場合は、私にいくつかのフィドル例
あなたは、いくつかの無効なケースを与えることはできますか? –
こんにちは@TreeNguyen plsチェック私は無効なデータで自分の投稿を編集しました。 これにジャンプしてくれてありがとう –
個々のキーをチェックするのではなく、単に 'keyup'で' isNaN'をチェックすることはできませんか? – gurvinder372