要件(やりたいこと)
- 小数値で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}|)$/;