标签:return textarea bindinput phoneAgain 内容 粘贴 长度 input 输入
小程序中没有关于input禁止粘贴的功能,通过监听bindinput来实现禁止粘贴功能
使用场景 一般都是 在type=number 或者 其他 不想让用户 通过复制的效果 来输入错误的数据
思路:
1、bindinput 监听每次输入事件,通过对比当前输入内容长度和上次输入内容长度做判断 如果 |当前内容长度 - 上次内容长度| != 1 ,则表示用户不是手动输入的,这时候清空输入框即可
2、|当前内容长度 - 上次内容长度| == 1 ,但是用户通过复制输入了 不符合预期的内容 ,这时候用过正则来判断内容是否合法
3、小程序bindinput 事件中 return是输入框的内容
核心代码(例子是判断手机号)
//判断当前长度和上次长度对比
if (Math.abs(e.detail.value.length - phoneAgain.length) != 1) {
this.setData({
phoneAgain: ''
})
return ''
} else {
//正则判断内容是否合法
let reg = /^[0-9]*$/
if (!reg.test(e.detail.value)) {
this.setData({
phoneAgain: ''
})
return ''
}
}
标签:return,textarea,bindinput,phoneAgain,内容,粘贴,长度,input,输入 来源: https://blog.csdn.net/qq_44036956/article/details/111590601
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。