我想强制我的 html 输入以下显示:14 尾数最大值(从 1 到 14)和有效的小数点后三位,如果用户在取默认 000 后没有指定点的值示例:输入 5 显示 5.000输入 5.2 显示 5.200 输入 22222 显示 22222.000 显示。请帮忙
问问题
1062 次
2 回答
2
用于.indexOf
检查.
字符。substring
确保它在那里并检查其索引之后的长度。如果小于 3,则添加一些零。
HTML
<input type="text" id="input" maxlength="14" value="" />
JavaScript
/* Select the desired input, and add an onChange event listener */
document.querySelector('#input').onchange = function () {
/* if the user didn't add a dot, we add one with 3 zeros */
if (this.value.indexOf('.') == -1) this.value += '.000';
/* Otherwise, we check how many numbers there are after the dot
and make sure there's at least 3*/
if (this.value.substring(this.value.indexOf('.') + 1).length < 3)
while (this.value.substring(this.value.indexOf('.') + 1).length < 3)
this.value += '0';
};
现场演示
于 2013-08-16T12:58:42.380 回答
1
- 检查号码是否匹配
(\d{1,14})(\.\d{1,3}){0,1}
- 由 .(dot) 字符分割
- 检查第二个数组结果的长度
- 如果 null 或 ajust 如果有 1 或 2 个长度,则添加 .000,添加 2 或 1 个零
于 2013-08-16T12:49:05.463 回答