uniapp input标签密码输入框纯数字验证

最近在做一些小程序的项目,首次使用了uniapp;在使用input标签时发现输入框的各种问题,特别是密码输入框和number类型不能复用的问题很是头疼;

网上关于此类问题,都是让监听input事件,包括官方回答也是如此,进行正则验证;但是并没有很好的效果;

经过多次尝试,发现只需要在watch中对变量进行判断就可以,不需要监听任何事件;

把最终的解决方法记录一下:

password(val, oldval) {
				let num = val.charAt(val.length - 1);
				var reg = new RegExp("^[0-9]*$");
				if (!reg.test(num)) {
					setTimeout(() => {
						this.password = val.slice(0, -1);
					}, 0);
				} else {
					setTimeout(() => {
						this.password = val;
					}, 0);
				}
			},

  

原文地址:https://www.cnblogs.com/mrcui/p/15589611.html