js,正则匹配1到100,做多2为小数的数字
时间: 2023-10-01 21:03:12 浏览: 37
可以尝试使用如下正则表达式匹配1到100,且最多保留两位小数的数字:
```
^(?:100|[1-9]\d|\d)(?:\.\d{1,2})?$
```
解释一下:
- `^` 匹配字符串开始
- `(?:100|[1-9]\d|\d)` 表示匹配 1-100 中的数字,其中 `100` 表示100,`[1-9]\d` 表示10-99 之间的数字,`\d` 表示1-9 的数字。
- `(?:\.\d{1,2})?` 表示匹配小数点后面最多两位的小数,其中 `\.` 表示匹配小数点,`\d{1,2}` 表示匹配1-2 位数字。`?` 表示这个小数部分可以出现也可以不出现。
- `$` 表示匹配字符串结束。
完整的 JavaScript 代码如下:
```
const regex = /^(?:100|[1-9]\d|\d)(?:\.\d{1,2})?$/;
console.log(regex.test('0')); // false
console.log(regex.test('1')); // true
console.log(regex.test('10')); // true
console.log(regex.test('99')); // true
console.log(regex.test('100')); // true
console.log(regex.test('100.00')); // true
console.log(regex.test('100.001')); // false
console.log(regex.test('1000')); // false
console.log(regex.test('50.5')); // true
console.log(regex.test('50.55')); // true
console.log(regex.test('50.555')); // false
console.log(regex.test('50.')); // false
console.log(regex.test('50.0')); // true
```