检查 input输入框是否输入限制字符。如果是,则丢弃;否则,正常输入。

input 标签具有 bindinput 属性,支持输入数据的双向绑定,类似 Vue 中的 v-model

键盘输入时触发,event.detail = {value, cursor, keyCode},keyCode 为键值,2.1.0 起支持,处理函数可以直接 return 一个字符串,将替换输入框的内容。

1
<input type="digit" bindinput="regInput" maxlength="15" />

匹配正则通过则返回所有字符,不通过则去掉最后一个不匹配的字符返回。

1
2
3
4
5
6
7
8
/*正则匹配*/
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);
}
}

参考链接

https://www.jb51.net/article/145878.htm