javascript - 更改为功能掩码
问题描述
我在下面有这段代码,它按预期工作,但我需要传递每个人的 id 才能工作。我怎样才能把它变成一个函数来使用onKeyPress
事件:
document.getElementById('inp').addEventListener('input', e => {
const val = e.target.value.replace(/\D/g, '').replace(/^0*/, '').padStart(3, '0')
e.target.value = val.slice(0, -2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.') + ',' + val.slice(-2)
})
我想转而用作:function Mask(){ // code }
<input asp-for="Frete" name="Frete" onKeyPress="return(Mask(this,'.',',',event))" class="form-control" />
为了能够使用function
,所以我需要一个一个地创建id
解决方案
在这里,您可以使用event
如下对象:
document.getElementById('inp1').addEventListener('input', (e) => { Mask(e, 'inp1'); });
document.getElementById('inp2').addEventListener('input', (e) => { Mask(e, 'inp2'); });
document.getElementById('inp3').addEventListener('input', (e) => { Mask(e, 'inp3'); });
function Mask(e, id) {
const target = document.getElementById(id);
const val = target.value.replace(/\D/g, '').replace(/^0*/, '').padStart(3, '0');
target.value = val.slice(0, -2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.') + ',' + val.slice(-2);
}
<input id="inp1">
<input id="inp2">
<input id="inp3">
推荐阅读
- python-3.x - Pandas 向量化条件优化
- unit-testing - 为什么 Pytest 会为每个测试方法创建一个新的类实例?
- sql - 避免在 select 子句中进行硬编码
- php - 如何突出显示使用 PHP 从 MySQL 数据库中获取的 Jquery datepicker 日期?
- python - 将多个数据框合并为一个,每个数据框作为标题名称,其中包含许多列并创建一个 3D 数据框
- raspberry-pi - 使用 ACR122U 的 libnfc 或 nfcpy 问题
- node.js - 无法使用节点/反应以正确格式获取 blob 数据
- bluetooth - Bluez 无法永久连接到蓝牙 LE 遥控器“功能未实现 (38)”
- r - 如何在 R 中创建包含条件 if 语句的垂直条形图?
- linux - Linux中目录的权限继承