微信小程序 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" })
}
inputCom(e){
let val = e.detail.value
let arr = String(val).split('')
if(arr[4] === '2'){
let year = now Date().getFullYear()
let input4 = arr[0] + arr[1] + arr[2] + arr[4]
if((year1 - input41) > 5 || (input41 - year1) > 5){
wx.showToast({
title: '错误',
icon: 'error',
duration: 2000
})
}else{
this.setData({
com: e.detail.value
})
}
}else if(arr[4] === '1'){
this.setData({
com: e.detail.value
})
}else{
wx.showToast({
title: '错误',
icon: 'error',
duration: 2000
})
}
}