JavaScript: 正規表現による数値チェック

JavaScriptの正規表現を使って、数値チェックを行う方法を紹介します。

テキストボックスに入力された数値が、 妥当がどうかをチェックする場合等に使えます。

10進数だけでなく、2進数、16進数についてのチェックも合わせて紹介します。 (一般的なチェック方法なので、細かい部分のアレンジは各自で行ってください)

10進数の正規表現

10進数の場合は「0から9まで」なので次のようになります。

// 符号なし 整数 (例: 29)
let pattern1 = /^[0-9]+$/;

// 符号なし 小数 (例: 3.14)
let pattern2 = /^[0-9]+\.?[0-9]+$/

// マイナス符号あり 整数 (例: -58)
let pattern3 = /^-?[0-9]+$/

// マイナス符号あり 小数 (例: -2.8)
let pattern4 = /^-?[0-9]+\.?[0-9]+$/

2進数の正規表現

2進数の場合は「0か1」なので次のようになります。

// 符号なし 整数
let pattern1 = /^[0,1]+$/

// 符号なし 小数
let pattern2 = /^[0,1]+\.?[0,1]+$/

// マイナス符号あり 整数
let pattern3 = /^-?[0,1]+$/

// マイナス符号あり 小数
let pattern4 = /^-?[0,1]+\.?[0,1]+$/

16進数の正規表現

16進数の場合は「0から9またはaからf」までで、 「aからf」に関して大文字小文字を区別しない場合は「i」オプションを付加します。

// 符号なし 整数
let pattern1 = /^[0-9a-f]+$/i

// 符号なし 小数
let pattern2 = /^[0-9a-f]+\.?[0-9a-f]+$/i

// マイナス符号あり 整数
let pattern3 = /^-?[0-9a-f]+$/i

// マイナス符号あり 小数
let pattern4 = /^-?[0-9a-f]+\.?[0-9a-f]+$/i

JavaScript入門