我想要达到的结果
微信小程序 input获取输入的前5位 进行判断
前四位进行年限判断
第五位进行标准判断
比如
input获得的值是 20021XX
先对第五位判断
如果是1 则没有问题
如果是2 则需要对前4位判断
{判断前四位
2002 到2022年 相差超过5年了 报错
}
如果是其他的字符 则不通过并报错
微信小程序 input获取输入的前5位 进行判断
前四位进行年限判断
第五位进行标准判断
比如
input获得的值是 20021XX
先对第五位判断
如果是1 则没有问题
如果是2 则需要对前4位判断
{判断前四位
2002 到2022年 相差超过5年了 报错
}
如果是其他的字符 则不通过并报错
方法有很多,不知道能不能满足你需要的
codeChange(e) {
// 输入的内容
let codeValue = e.detail.value;
// 检测是否满足第五位1或者2
if (/\d{4}[12].*/.test(codeValue)) {
// 为1的时候满足条件
if (codeValue[4] == 1) this.setData({ code: codeValue });
// 相差超五年
else if (Math.abs(Number(codeValue.substring(0, 4)) - new Date().getFullYear()) > 5) {
wx.showToast({ title: "日期与今年相差超过五年", icon: "none" })
}
else this.setData({ code: codeValue });
}
else wx.showToast({ title: "输入内容不符合规范", icon: "none" })
}