type类型为number的input标签可以输入字母e

关于< input type=“number” />可以输入字母e!!!

今天偶然间发现一个神奇的问题:一个type属性值设置为number类型的input标签可以输入字母e|E

 

<input type="number" class="form-control" placeholder="number">

 

主要原因是:e在数学上代表的是无理数,是一个无限不循环的小数,其值约为2.7182818284,所以在输入e的时候,输入框会把e当成一个数字看待。

可以采用下面的方式来避免这个BUG,在input标签中添加如下属性:

<input type="number" class="form-control" onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))"  placeholder="number"/>

 

posted @ 2021-04-13 18:24  ysx_小鱼  阅读(704)  评论(0编辑  收藏  举报