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