今天在做手机端只能输入纯数字的控制的时候,第一想到的就是用表达式解决,可是发现手机的键盘对于vue的一些监听事件(onchange 、keyup。。)不是很友好,有点小bug。后来绕了一大圈发现直接在input属性上修改就好了
移动端控制:
<input type="number" pattern="[0-9]*" /> (小数点的话苹果原生键盘没事,可是搜狗这些会有问题)
如上所示,在安卓端设置input类型为number,可限制键盘只输入数字,在ios端,要加入pattern验证输入字段的模式,才能限制数字输入
pc端
<input type="text" @keyup="str=str.replace(/[^\d]/g,'')" />