要件(やりたいこと)
- 小数値で0~99.999の範囲かを判定したい。
- 実現方法は問わないが、今回は正規表現を使うことにした。
- 数字は半角数字のみ。全角はNG。
- 小数は第3桁まで。
要件の例示
- OK例
-
0,0.1,0.01,0.001,99,99.9,99.99,99.999 - これも許容してOKとする。
0.0,0.00,0.000
-
- NG例
- 3桁以上の数
-
100,1000
-
- 小数第4桁以上の数
*0.0001,99.9999,0.0000 - 負の数
-1
- 数字以外の文字
-
あ,日本
-
- 全角数字
-
0,0。1
-
- .から始まる数字
.99
- 0から始まる数字
-
00,000,01,001
-
- 3桁以上の数
Code
Javascriptで定義して、使用する画面でtoThreeDecimalPlaces.test(value)をするイメージ。
const toThreeDecimalPlaces = /^(0|[1-9]\d{0,1})(\.\d{1,3}|)$/;