开篇空话
在开辟过程当中常常碰到如许的需求:用户只能输入数字而且只保存小数点两位。虽然我们能够在提交表单的时刻举行考证,然则体验不是很好。下面我重要使用了小顺序input标签的
bindinput要领对输入的值举行监听,然后举行正则婚配。
1. input标签
微信小顺序input标签自带type=digit属性,能够调起带有小数点的数字键盘,maxlength属性能够掌握我们输入字符的个数,然后我们给input标签绑定bindinput要领。
<input type="digit" bindinput="regInput" maxlength="15"/>
2. 绑定监听事宜
bindinput要领能够监听到当前输入框的值,类似于onchange事宜,但不太一样。经由过程e.detail.value能够获取到input的值,return返回的字符串能够替换掉输入的字符串。
3. 正则婚配
婚配正则经由过程则返回一切字符,不经由过程则去掉末了一个不婚配的字符返回。
/*正则婚配*/
regInput(e){
if(/^(\d?)+(\.\d{0,2})?$/.test(e.detail.value)){
return e.detail.value;
}else {
return e.detail.value.substring(0,e.detail.value.length-1);
}
}
完毕
这个正则表达式不是很圆满,迎接一起来优化。