勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

「input type="number"」のテキストボックスを桁数制限且つ半角数値のみ入力可にする方法

  jQuery JavaScript

「input type="number"」のテキストボックスに対して「2桁まで」等の桁数制限を行いつつ、半角数値のみ入力可に制限したかった。JavaScriptで半角数値のみというのは過去記事でも書いたが、桁数制限は対応したことがなかったと思うので以下に対応方法をメモ。

 

対応方法

ソースコード

<input type="number" class="number">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function() {
    $(`.number`).on(`input`, function(){
        $(this).val($(this).val().replace(/[^0-9]/g, ''));
        $(this).val($(this).val().slice(0, 5));
    });
});
</script>

解説等

半角数値以外を入力した場合は空に置換し、sliceで5桁までを返すという形になる。

 

リファレンス

slice

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

 - jQuery JavaScript

  関連記事

JavaScript / jQueryにてページ表示時に指定したテキストボックスにフォーカスさせる方法
JavaScript / jQueryにてページ表示時に指定したテキストボックスにフォーカスさせる方法

ページを開いた際に指定したテキストボックス(input type="text") ...

FlashとjQueryを組み合わせたプラグインでWebカメラで撮影した画像をアップロード
FlashとjQueryを組み合わせたプラグインでWebカメラで撮影した画像をアップロード

FlashとjQueryを組み合わせたプラグインを用いてWebカメラで撮影した画 ...

jQueryプラグインの作成
jQueryプラグインの作成

面白そうだったのでメモ。 ■参考サイト http://www.entacl.in ...

jQueryで指定の行動をとった際に、クリックイベントを発火させる方法
jQueryで指定の行動をとった際に、クリックイベントを発火させる方法

あるシステムでAという要素をクリックした際に何らかの処理を行うという部分があり、 ...

jQueryでHTMLの特定要素をループ時に逆順で処理する方法
jQueryでHTMLの特定要素をループ時に逆順で処理する方法

jQueryでリスト(li)タグ等の特定要素をeach()でループ処理する場合、 ...