最近做小程序开发,需求是input输入框只能输入小数,小数点以及加减号
- 小程序官方文档 input 软件盘有四种模式。但都不能满足需求。最后只能在 type =‘text’的基础上通过正则判断并删除不合法的输入内容。直接上代码
var replaceArray = []; for (let i = 0; i < value.length; ++i) {//正则判断是否合法 var textValue = (/^[0-9_.+-]$/.test(value.charAt(i))); if (!textValue) { replaceArray.push(value.charAt(i)); } } if (replaceArray.length != 0) { wx.showToast({ title: '只能输入数字,小数点和加减号', icon: 'none' }) for (let j = 0; j < replaceArray.length; ++j) {//循环删除不合法内容 value = value.replace(replaceArray[j], ''); } }