在开发中遇到的问题,当输入框input的type=number时,仍然可以输入字母e或E,查了资料后才知道,原来当type=number时,计算机是这么处理的:主要原因是e在数学上代表的是⽆理数,是⼀个⽆限不循环的⼩数,其值约为2.7182818284,所以在输⼊e的时候,输⼊框会把e当成⼀个
数字看待。所以,当type=number时,仍然可以输入字母e或E。解决方法是:给type=number的输入框添加一个正则表达式:
<input type="number" onKeypress="return(/[\d\.]/.test(String.fromCharCode(event.keyCode)))" />