欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

input数字输入框可以输入e的原因

程序员文章站 2022-04-06 11:38:23
...

今天在查看表单实例的时候,发现了一个只能输入数字的input,却可以输入e字母

<Input type="number" v-model.number="form.number" placeholder="请输入"/>

原因是e在数学上代表无理数,e是自然对数的底数,是一个无限不循环小数,其值是2.71828…,所以在输入e时,输入框认为是数字。
为了避免这个bug,我们可以是用下面的方法

onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))

将上面的input改为下面这样:

<Input type="number" v-model.number="number" placeholder="请输入"
       onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>

fromCharCode(numX,numX,…,numX) 可接受一个或多个指定的 Unicode 值,然后返回一个字符串,

String.fromCharCode(72,69,76,76,79) -->  HELLO

相关标签: input