JS 正则表达式 0.001 ~99.999
时间: 2023-07-25 12:03:52 浏览: 137
对于这个问题,我可以提供一下正则表达式的解决方案:
/^(0(\.\d{1,3})?|([1-9]\d?)(\.\d{1,3})?|99(\.999)?)$/
这个正则表达式可以匹配0.001到99.999之间的数字,其中:
- ^ 表示匹配字符串的开始位置
- $ 表示匹配字符串的结束位置
- 0(\.\d{1,3})? 表示0到0.999之间的数字,小数点后最多保留3位
- ([1-9]\d?)(\.\d{1,3})? 表示10到99之间的数字,小数点后最多保留3位
- 99(\.999)? 表示99到99.999之间的数字,小数点后最多保留3位
注意,这个正则表达式只适用于输入数字的情况,对于输入非数字的情况需要进行额外的处理。
相关问题
JS 正则表达式1.000-99.000
可以使用如下正则表达式进行匹配:
```javascript
/^(?!0\d)\d{1,2}(?:\.\d{1,3})?|100(?:\.0{1,3})?|99(?:\.0{1,3})?$/
```
这个正则表达式可以匹配 1.000-99.000 的数字,满足以下要求:
- 最多 5 位数字
- 小数最多 3 位
- 数字范围在 1.000-99.000 之间
正则表达式的含义与上文中的解释相同。在 JavaScript 中,需要将正则表达式放在两个斜杠之间,如上所示。可以使用 `test` 方法来测试一个字符串是否匹配该正则表达式,例如:
```javascript
const re = /^(?!0\d)\d{1,2}(?:\.\d{1,3})?|100(?:\.0{1,3})?|99(?:\.0{1,3})?$/;
const str = '2.345';
if (re.test(str)) {
console.log('匹配成功');
} else {
console.log('匹配失败');
}
```
输出结果为 `匹配成功`。
阅读全文