html - 如何在 HTML 输入中添加零?
问题描述
我有一个固定长度为 7 的 html 输入。如果用户键入 1234,如何在此输入前面加上多个零,以便获得所需的 7 长度?
我只想在 UI 中执行此操作,因为我已经在 ts 代码中有一个方法,用于在此输入前加上零,以便将其正确发送到后端。
<input formControlName="userNumber" type="text" class="form-control" placeholder="User #" aria-label="userNumber" aria-describedby="userNumber">
解决方案
您可以input
在输入字段上使用事件。一旦用户输入了一些数字,然后当输入字段失去焦点时,将添加所需数量的零。
const $input = document.querySelector('input');
$input.addEventListener('change', (e) => {
const value = e.target.value;
const length = e.target.value.length;
if (length === 0) {
$input.value = value;
}
else if (length < 7) {
$input.value = '0'.repeat(7-length) + value;
}
});
<input formControlName="userNumber" type="text" class="form-control" placeholder="User #" aria-label="userNumber" aria-describedby="userNumber">
推荐阅读
- powerbi - Power Query:需要在变量中获取 API 返回的总记录
- javascript - 将两个对象数组合并在一起
- apache-spark - Spark skewedPartitionThresholdInBytes 未得到强制执行
- c# - 使用 Visual Studio 代码作为在线解释器来控制 excel 和 AutoCAD
- php - 如何在 PHP 属性中创建实例数组
- postgresql - 为什么一个查询会周期性地花费 10 倍的时间来执行?
- flutter - 如何从提供的链接中获取数据?
- javascript - 如何使用 groupBy lodash
- triggers - 杀死 Azure 数据工厂管道/触发器
- html - 为什么我的 ::before 元素覆盖了我为链接设置的背景?