输入框限制输入内容——只能输入数字和小数点

以vue的input为例,需求只能输入数字和小数点

<el-input @input="money = money.replace(/[^\d|\.]/g, '')" v-model="money" />

原理:通过绑定输入事件 使用replace字符串替换方法修改绑定的值  money就是自己绑定的值

/[^\d|\.]/g    意思是全局匹配除了数字和小数点

replace(/[^\d|\.]/g, '')  就是除了数字和小数点其他都替换为空

.replace方法可以使用多个 

<el-input @input="money = money.replace(/[^\d|\.]/g, '').replace(/^00/g, '0').replace(/^\./g, '0.')" v-model="money" />

除了数字和小数点其他都替换为空  然后以00开头替换为0   以.开头变成0.

有其他需求根据正则表达式 进行修改即可

正则表达式-CSDN博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
可以使用JavaScript来实现elul输入框只能输入数字小数点的功能,具体实现方法如下所示: ```javascript // 获取elul输入框元素 var elulInput = document.getElementById("elul-input"); // 给elul输入框绑定onkeydown事件 elulInput.onkeydown = function(event) { // 获取当前按下的键的keyCode var keyCode = event.keyCode; // 允许数字键、小数点键、删除键、退格键以及左右方向键 if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105) || keyCode == 190 || keyCode == 110 || keyCode == 8 || keyCode == 46 || keyCode == 37 || keyCode == 39) { return true; } else { return false; } }; // 给elul输入框绑定onkeyup事件 elulInput.onkeyup = function(event) { // 获取elul输入框的值 var value = elulInput.value; // 将非数字小数点的字符替换为空字符串 value = value.replace(/[^\d\.]/g, ""); // 将多余的小数点替换为空字符串 value = value.replace(/\.{2,}/g, "."); // 将小数点前面的多余的0去掉 value = value.replace(/^0+(\d+)/g, "$1"); // 将小数点后面的多余的0去掉 value = value.replace(/(\.\d+?)0+$/g, "$1"); // 将elul输入框的值设置为处理后的值 elulInput.value = value; }; ``` 在上述代码中,我们首先获取了elul输入框的元素,然后给它绑定了onkeydown和onkeyup事件。在onkeydown事件中,我们判断了当前按下的键是否是数字键、小数点键、删除键、退格键以及左右方向键,如果是则返回true,否则返回false,这样就可以限制elul输入框只能输入数字小数点了。在onkeyup事件中,我们获取了elul输入框的值,然后使用正则表达式将非数字小数点的字符替换为空字符串,将多余的小数点替换为空字符串,将小数点前面的多余的0去掉,将小数点后面的多余的0去掉,最后将elul输入框的值设置为处理后的值,这样就可以保证elul输入框中的数字小数点的格式是正确的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巨蟹座守护骑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值