input标签只能输入数字,输完进行数据格式化,变成钱的格式显示,就是三个数字一个逗号那种,然后后面还有小数点,保留两位小数
时间: 2023-05-23 22:04:53 浏览: 688
jquery.maskedinput 自定义输入格式,金额,时间,秒,毫秒控件
3星 · 编辑精心推荐
A:好的,以下是一个简单的实现方式:
1. 在input标签中设置type="number",这样可以限制只能输入数字;
2. 给input标签添加onchange事件,当输入框中的值改变时触发该事件,然后调用一个格式化函数;
3. 编写格式化函数,该函数的作用是将输入框中的值转换成钱的格式,即每三位加一个逗号,并保留两位小数。
以下是示例代码:
HTML部分:
```
<input type="number" id="money" onchange="formatMoney()">
```
JavaScript部分:
```javascript
function formatMoney() {
var moneyInput = document.getElementById("money");
var moneyValue = moneyInput.value;
var formattedMoney = moneyValue.replace(/\B(?=(\d{3})+(?!\d))/g, ","); //添加逗号
formattedMoney = parseFloat(formattedMoney).toFixed(2); //保留两位小数
moneyInput.value = formattedMoney;
}
```
这段代码使用了正则表达式来添加逗号,toFixed()方法来保留小数位数。你可以根据自己的需要对函数进行修改和优化。
阅读全文