JavaScript で数字のみを入力する

  1. JavaScript でフィールド属性 number を使用し、keyCode の条件を設定する
  2. JavaScript でフィールド属性 input を使用し、keyCode の条件を設定する
JavaScript で数字のみを入力する

JavaScript の特定のメソッドまたはプロパティでは、HTML の input フィールドが number タイプの値のみを取得できるようにすることはできません。むしろ、入力ボックスの数値タイプの値のみを受け取る input フィールドの属性 number があります。

数値のみをフィルタリングするタスクを実行する別の方法は、input フィールドタイプを input に設定することです。これは、ほぼすべての種類の可能な入力を有効にすることを意味します。これは、英数字の値を考慮に入れます。

JavaScript コードに含まれる特定の条件は、数値のみを受け入れるようにフィルタリングされます。

次の場合は、keypress イベントを処理し、その keyCode を取得します。その後、私たちの動機に基づいて、数値タイプのデータのみを検証するためのいくつかの条件を設定します。

1つの例には number 属性があり、もう 1つの例には入力フィールドの input 属性があります。

JavaScript でフィールド属性 number を使用し、keyCode の条件を設定する

この例では、JavaScript コードベースに対応する入力フィールドがあります。最初に、event.keyCode または event.which を介して keyCode を取得します。

この keyCodewhich はブラウザごとに同じように機能します。したがって、最終的にはコードに基づいて、値をフィルタリングします。

コードフェンスを確認してみましょう。

<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<input name="someid" type="number" onkeypress="isNumberKey(event)"/>
<div>
</div>
<script>
function isNumberKey(evt){
    var charCode = (evt.which) ? evt.which : evt.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
    return true;
}
  $(document).ready(function(){
  $("input").keydown(function(event){
    $("div").html("Key: " + event.which);
  });
});
</script>

出力:

keyCode のフィールド属性番号と SetCondition を使用します

ご覧のとおり、a=65b=66c=67 を押しましたが、これらの値は受け入れられませんでした。その後、値 42 が入力ボックスに配置されました。

JavaScript でフィールド属性 input を使用し、keyCode の条件を設定する

同様に、このセグメントの入力フィールドに JavaScript コードを設定しますが、この属性は input に設定されます。デフォルトでは、Number タイプ属性は数字を受け取り、他の文字を除外しますが、input タイプの場合、バックスペースや文字などの他の文字を入力する権限があります。

ここで、JavaScript コードは、数値のカウントのみを検証します。

コードスニペット:

<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<input type="input" id="edit1" size="11" maxlength="10" />
<div>
</div>
<script>
$(document).ready(function(){
    $('[id^=edit]').keypress(validateNumber);
});
function validateNumber(event) {
    var key = window.event ? event.keyCode : event.which;
    if (event.keyCode === 8 || event.keyCode === 46) {
        return true;
    } else if ( key < 48 || key > 57 ) {
        return false;
    } else {
    	return true;
    }
};
   $(document).ready(function(){
  $("input").keydown(function(event){
    $("div").html("Key: " + event.which);
  });
});
</script>

出力:

keyCode のフィールド属性入力と設定条件を使用します

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook