上の入力欄に入力されていることが9防止小数点以下は、私はデスクトップブラウザ上で利用者を確保するためにうまく機能し、このJavaScriptコードを、持っている携帯
に文字1のみを入力することができ、提示されるキーパッドは、フィールドが受け入れるダッシュおよびピリオド文字を含む。どうすればこれを防ぐことができますか?
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
UPDATE:
これは私がHTMLで機能を使用しています方法です:
<input type="number" class="form-control"
onkeypress="return isNumberKey(event)" />
私はコードに数値以外の文字をコピーして貼り付けることができることを防止するために別の機能を持っています。
$(document).ready(function() {
$('#number').bind("cut copy paste drag drop", function(e) {
e.preventDefault();
});
});
その他すべてが失敗した場合は、サーバー側の検証が行われます。
フロントエンドで小数点以下の桁数を使用しないようにしたいと考えています。私が指定した文字範囲は、罰金のキーボードではこの制限を覚えていますが、数字キーパッドで入力できる数字キーパッドの数字は.
です。
あなたが望むすべてが数値である場合は、その理由を明示的48の範囲をチェックしません - 57?なぜ31チェックがそこにあるのかわからない – Taplar
このメソッドを使用しているイベントバインディングはどのように表示できますか? – Taplar
@Taplarバックスペースを許可することはできますか?私は詳細を与えるために私の答えを更新しました – egmfrs