js正则校验数字必须是正整数,可以为0
时间: 2024-03-09 09:45:55 浏览: 63
如果您希望校验的数字可以为 0,那么可以将正则表达式中的 `[1-9]` 修改为 `[0-9]`,即可匹配包括 0 在内的所有非负整数。
下面是修改后的正则表达式:
```
/^[0-9]\d*$/
```
解释一下这个正则表达式的含义:
- `^` 表示匹配字符串的开始位置。
- `[0-9]` 表示匹配一个数字。
- `\d*` 表示匹配 0 个或多个数字。
- `$` 表示匹配字符串的结束位置。
所以,整个正则表达式的意思就是匹配以数字开头,后面跟任意个数字的字符串,即非负整数。
下面是一个 JavaScript 函数示例,用于校验一个字符串是否为非负整数。
```javascript
function isNonNegativeInteger(str) {
return /^[0-9]\d*$/.test(str);
}
```
可以像下面这样使用该函数:
```javascript
console.log(isNonNegativeInteger('123')); // true
console.log(isNonNegativeInteger('0')); // true
console.log(isNonNegativeInteger('-123')); // false
console.log(isNonNegativeInteger('12.3')); // false
console.log(isNonNegativeInteger('abc')); // false
```
希望这个回答能够帮助到您。
阅读全文
相关推荐














