【徹底解説】jQuery を使って HTML 入力ボックスで数値のみを入力する方法

2024-04-02

jQuery を使用して HTML 入力ボックスで数値のみを許可する方法

前提条件

このチュートリアルを始める前に、以下のものが必要です。

  • HTML ファイル
  • jQuery ライブラリ

手順

  1. HTML ファイルに jQuery ライブラリを追加します。
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  1. 入力ボックスに keypress イベントを追加します。
<input type="text" id="number-input" />
$("#number-input").on("keypress", function(event) {
  // 数字のみ許可する
  var charCode = event.which ? event.which : event.keyCode;
  if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
    event.preventDefault();
  }
});

コード解説

  • keypress イベントは、キーが押されたときに発生します。
  • event.which または event.keyCode は、押されたキーのコードを取得します。
  • charCode が 46 (ピリオド) または 31 (スペース) 以外で、48 (0) より小さく 57 (9) より大きい場合は、キー入力をキャンセルします。
  • jQuery Validate プラグイン を使用して、入力ボックスの検証を行うことができます。
  • HTML5 の inputmode 属性 を使用して、入力ボックスの入力モードを "numeric" に設定できます。

このチュートリアルでは、jQuery を使用して HTML 入力ボックスで数値のみを入力できるようにする方法を説明しました。




<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数値のみ入力できるテキストボックス</title>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
  <h1>数値のみ入力できるテキストボックス</h1>
  <input type="text" id="number-input" />
  <script>
  $("#number-input").on("keypress", function(event) {
    // 数字のみ許可する
    var charCode = event.which ? event.which : event.keyCode;
    if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
      event.preventDefault();
    }
  });
  </script>
</body>
</html>

実行例

補足

  • 上記のコードは、半角数字のみを入力できるようにしています。全角数字も入力できるようにするには、charCode > 31charCode > 126 に変更します。
  • 小数点を入力できるようにするには、charCode != 46 を削除します。
  • マイナス記号を入力できるようにするには、以下のコードを追加します。
if (charCode == 45) {
  // マイナス記号を許可する
} else if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
  event.preventDefault();
}



数値のみ入力できるテキストボックスを作成する他の方法

HTML5 の inputmode 属性

<input type="text" inputmode="numeric" />

この方法の利点は、JavaScript を必要としないことです。

<input type="text" id="number-input" />
$("#number-input").validate({
  rules: {
    number: {
      required: true,
      number: true
    }
  }
});

この方法の利点は、エラーメッセージを表示したり、他の検証ルールと組み合わせて使用できることです。

  • JavaScript の oninput イベントを使用して、入力値をリアルタイムでチェックする
  • JavaScript の RegExp オブジェクトを使用して、入力値を検証する

これらの方法は、より高度なカスタマイズが可能ですが、JavaScript の知識が必要となります。

数値のみ入力できるテキストボックスを作成するには、いくつかの方法があります。

  • HTML5 の inputmode 属性は、最も簡単な方法です。
  • jQuery Validate プラグインは、より多くの機能を提供します。
  • その他の方法を使用すると、より高度なカスタマイズが可能になります。

jquery html validation


jQuery: テーブルヘッダーとフッターを除いて行数を数える

length プロパティは、jQueryオブジェクト内の要素数を取得するために使用できます。テーブル内の行数を取得するには、$("table tr").length のように記述します。この方法は簡単ですが、テーブルヘッダーやフッターも含まれてしまう点に注意が必要です。...


jQueryスパン操作マスター:テキスト、HTML、属性、値の設定

text() メソッドは、スパン内のテキストコンテンツを設定するために使用されます。 以下のコードは、スパンのIDが "my-span" である場合、そのスパン内のテキストを "新しい値" に設定します。テキストのみを設定したい場合は、text() メソッドを使うのが最も簡単です。...


HTML5 でコンテンツを構造化する:section/header/aside/article 要素の役割とベストプラクティス

section: コンテンツの独立したまとまりを表します。例えば、ブログ記事、製品ページ、サイドバーなど。header: コンテンツのヘッダー部分を表します。記事の見出し、ナビゲーション、ロゴなど。aside: メインコンテンツとは別に補足的な情報を表示するための要素です。サイドバー広告、関連記事、補足説明など。...


JavaScriptも駆使!HTMLとJSPでドロップダウンリストからフォームを自在に送信

必要なものHTMLファイルJSPファイルサーバサイドスクリプト (サーブレットなど)手順HTMLでドロップダウンリストを作成する上記の例では、id="myDropdown" のドロップダウンリストを作成しています。 onchange イベントハンドラを使用して、 submitForm() 関数を呼び出すように設定しています。...


HTMLで半角スペース以外にも使える空白コード:見やすく読みやすい文章を作るための秘訣

&nbsp;(半角スペース)最も基本的な空白コードです。1つの半角スペースを挿入します。文章内の単語間に適度な間隔を空けたい場合などに使用します。1つの全角スペースを挿入します。**&nbsp;**よりも広い空白が必要な場合に使用します。&emsp;...


SQL SQL SQL SQL Amazon で見る



jQuery Validation Pluginで数値のみ入力可テキストボックスを作成する方法

このチュートリアルでは、jQueryを使用して、テキストボックスの入力を数値(小数点を含む)のみに制限する方法を説明します。2つの主要な方法を紹介します。HTML5の input type="number" 属性を使用するjQueryの keypress イベントを使用して入力を検証する