如果数字input.value包含“ e”字符,则返回空字符串

时间:2020-01-24 21:41:27

标签: javascript html

下面的示例是数字输入,如果包含“ e”字符,则在通过JavaScript访问时将返回“”空字符串。

const input = document.querySelector('input');
input.oninput = (e) => console.log(e.target.value)
<input type="number">

能否请您解释一下背后的魔力以及防止这种情况发生的可能方法。

P.S:我正在研究是否有可能在键盘输入/粘贴中仅允许输入[0-9]数字的输入,并希望就此主题提出任何建议:-)

2 个答案:

答案 0 :(得分:3)

e代表指数,它是数字的有效字符。发生这种情况是因为您已将输入类型设置为数字。你可以试试这个 请检查此线程 https://stackoverflow.com/a/31706796/5238397

答案 1 :(得分:1)

输入时删除其他字符:

const input = document.querySelector('input');
input.oninput = (e) => {e.target.value = e.target.value.replace(/[^0-9]/g,"");}
<input type="number">

相关问题