大文字小文字を除いて数値の検証をしています。私はキープレスイベントで検証を行っています。ユーザーが5桁の数字を入力した場合、その後はないですインテグラル= 5、小数= 3キープレスイベントの小数点以下の桁数確認
:
これは...
出力長の私の検証を行っていますどのようなプロセスである=積分+は
例を小数6桁目を入力することができます。 (すなわち、12345)。 しかし、「。」と入力するとその後、3小数点以下(すなわち、12345.678)にすることができます。これは完全に機能しています。
以下のケースで問題に直面しています。
ユーザーが1.234と入力すると、「。」の前にナビゲートします。矢印またはマウスのクリックを使用して配置すると、ユーザーは別の数字を入力できません。整数部分または小数部分のいずれかが長さに一致するかどうかをチェックするので、私はfalseを返す。
これを手伝ってもらえますか?キーアップイベントではできますが、キープレスイベントでのみこれを達成しようとしています。ユーザーが数字を入力する位置を取得する方法はありますか?はいの場合、1つの解決策を得ることができます。
var integral = 5, decimals = 3;
//below code in the key press event
if ([8, 9, 13, 37, 39,46].indexOf(e.keyCode) != -1) {
return true;
} else if (e.keyCode == 190 && !e.shiftKey && decimals) {
_value = $(this).val();
if (_value.indexOf('.') != -1) {
return false;
}
return true;
} else if (48 >= e.keyCode || e.keyCode <= 57) {
_value = $(this).val();
if (decimals) {
_value = _value.split('.');
if (_value[0].length == integral || (_value[1] || '').length == decimals) {
return false;
}
return true;
} else {
if (_value.length == integral) {
return false;
}
return true;
}
}
return false;
現在のスクリプトを投稿できますか? – pppp