JavaScript で数字のみを入力する

Anika Tabassum Era 2023年1月30日
  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 のフィールド属性入力と設定条件を使用します

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