写一个input输入框校验规则,限制输入内容为金额格式
时间: 2024-01-22 17:19:10 浏览: 79
可以使用正则表达式来校验输入内容是否为金额格式,以下是一个示例代码:
```javascript
function validateAmount(input) {
// 金额正则表达式,允许整数部分最多13位,小数部分最多2位
const regex = /^([1-9]\d{0,12}|0)(\.\d{1,2})?$/;
return regex.test(input);
}
// 调用示例
const input = document.querySelector('#amount-input');
input.addEventListener('input', (event) => {
const value = event.target.value;
if (!validateAmount(value)) {
// 校验不通过,清空输入框
event.target.value = '';
}
});
```
在上面的代码中,我们定义了一个`validateAmount`函数,它接收一个输入字符串作为参数,返回一个布尔值,表示输入是否为金额格式。该函数使用了一个正则表达式来进行校验,正则表达式中:
- `^`表示字符串的开头
- `([1-9]\d{0,12}|0)`表示整数部分,允许1到13位数字,但是不能以0开头
- `(\.\d{1,2})?`表示小数部分,允许1到2位数字,但是整个小数部分是可选的
- `$`表示字符串的结尾
在输入框的`input`事件中,我们调用了`validateAmount`函数来判断输入是否合法,如果不合法,则清空输入框。注意,在实际应用中,我们可能还需要在用户提交表单时再次校验输入内容。
阅读全文