js 正则校验正数,负数,小数
时间: 2023-09-18 15:14:00 浏览: 177
可以使用正则表达式进行校验,如下是一个校验正数、负数、小数的 JavaScript 正则表达式:
```javascript
/^-?\d+(\.\d+)?$/
```
其中:
- `^` 表示匹配字符串的开始位置。
- `-?` 表示可选的负号。
- `\d+` 表示匹配一位或多位数字。
- `(\.\d+)?` 表示可选的小数部分,其中 `\.` 表示匹配小数点,`\d+` 表示匹配一位或多位数字。
- `$` 表示匹配字符串的结束位置。
使用方法示例:
```javascript
const regex = /^-?\d+(\.\d+)?$/;
console.log(regex.test('123')); // true
console.log(regex.test('-123')); // true
console.log(regex.test('123.456')); // true
console.log(regex.test('-123.456')); // true
console.log(regex.test('0.123')); // true
console.log(regex.test('-.123')); // true
console.log(regex.test('abc')); // false
```
相关问题
js 正则表达式校验数字,确保它是一个不带小数点的正数,或者是一个带小数点的正数且小数点后最多保留两位
在JavaScript中,你可以使用正则表达式来验证输入是否符合这个规则。下面是一个简单的例子:
```javascript
function isValidNumber(input) {
const regex = /^(?!.*\.\d{3})[0-9]+(\.[0-9]{1,2})?$/;
return regex.test(input);
}
// 示例
console.log(isValidNumber(123)); // true - 整数正数
console.log(isValidNumber(123.45)); // true - 小数点后不超过两位的正数
console.log(isValidNumber("123.456")); // false - 小数点后超过两位
console.log(isValidNumber(-123)); // false - 负数
console.log(isValidNumber(".123")); // false - 只有小数部分
```
上述函数`isValidNumber`接收一个字符串作为输入,正则表达式的含义是:
- `^` 表示开始
- `(?!.*\.\d{3})` 是否定前瞻断言,确保不会有多余的三位小数
- `[0-9]+` 匹配一或多个数字(整数部分)
- `(\.[0-9]{1,2})?` 是可选部分,匹配小数点后的一到两位数字
- `$` 表示结束
阅读全文