html input 输入框 怎么设置只能输入数字并且保留两位小数正则怎么写
时间: 2024-02-18 14:00:28 浏览: 205
你可以使用正则表达式对输入框的值进行验证,以确保只输入数字并且保留两位小数。以下是一个例子:
```html
<input type="text" onkeyup="this.value=this.value.replace(/[^\d.]/g,'').replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')" />
```
这个例子中,`type="text"` 表示输入框的类型为文本类型。`onkeyup` 事件会在用户松开键盘时触发,然后执行一个 JavaScript 函数。
这个函数使用多个正则表达式来对输入框的值进行验证和格式化。首先,`replace(/[^\d.]/g,'')` 会将输入框的值中除数字和小数点以外的所有字符都替换为空字符串,确保只能输入数字和小数点。然后,`replace(/^\./g,'')` 会将输入框的值中开头的小数点替换为空字符串。接下来,`replace('.','$#$')` 会将输入框的值中的第一个小数点替换为 `$#$`,以便在下一步中使用。然后,`replace(/\./g,'')` 会将输入框的值中的所有小数点都替换为空字符串。接着,`replace('$#$','.')` 会将输入框的值中的 `$#$` 替换回小数点。最后,`replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')` 会将输入框的值格式化为只保留两位小数的格式。
这样,用户输入的值就会被限制为数字,并且保留两位小数。
阅读全文