微信小程序开发结束整理笔记

车辆发动机号码正则匹配

var r = /^[0-9A-Za-z\-\-\u4e00-\u9fa5]{1,20}$/;;

银行卡正则匹配

isValidBankCardNumber(cardNumber) {
    let r = /^[0-9]{16,21}$/;
   return r.test(trimAll(cardNumber));
  }

验证车牌号 正则匹配

 isValidPlate: function(plateNumber) {
   var plate = plateNumber.toUpperCase();
    var r = RegExp("^[宁冀鄂吉云皖蒙甘渝津粤沪京港新澳贵辽琼桂晋苏黑青陕藏浙湘川赣豫鲁台闽][A-HJ-NP-Z][A-HJ-NP-Z0-9]{5}$");
    return r.test(trimAll(plate));
}
  • 注意:一般没有O ,因为O是机关部门的车牌号 没有I 因为容易产生歧义

view标签中 嵌套image 标签:

image 是行内元素。一般设置 display:block;

微信小程序中的 image 标签 ,最好都设置 mode="aspectFit"

键盘弹起遮挡用户输入的input,解决办法:

// 微信小程序官方文档自带的属性
cursor-spacing="80" //80是 拉起键盘距离输入框的高度距离

微信小程序中 从view向js文件中传值的时候,不支持大写data-carNo 他会自动把大写转化成小写的格式。但是支付宝小程序支持大写名字的传值

bindlongtap长按触发事件 会与 bindtap 点击事件 发生冲突

也就是在长按的时候,两者都会触发的bug
两者的底层原理 区别就是,长按事件是根据点击 clickDown 的时间长短来区分是点击事件还是长按事件。点击事件是根据鼠标up弹起来来判定的。

  • 解决办法一:分别使用 bindtouchstart 与 bindtouchend 事件,根据这两者发生的时间差的大小来判断,用户到底是想要点击 还是长按。
bindTouchStart: function(e) {//触碰开始
    this.startTime = e.timeStamp;
    this.setData({
      startTime: e.timeStamp
    })
  },
  bindTouchEnd: function(e) {//触碰结束
    this.setData({
      endTime: e.timeStamp
    })
  },
  goDetail: function(e) { // 点击进入商品详情
    if (this.data.endTime - this.data.startTime < 350) {
      wx.navigateTo({
        url: '/pages/detail/detail?itemId=' + e.currentTarget.dataset.id,
      })
    }
  },
  • 解决方法二: 最简单的方法。使用 bindlongpress 事件来替换 bindlongtap 事件

身份证有效期的失效期 ‘长期’ 汉字 后台无法识别(只能识别yyyy-mm-dd格式)

解决办法就是 判断如果用户的身份证失效期 为 长期 ,就将当前用户的失效期更换成 有效期加上20年

  formatData2(data) {
    // 如果数据是 长期有效 加20年
    var dataReg = new RegExp('[\u4E00-\u9FA5\uFE30-\uFFA0]')
    // console.log(dataReg.test(data))  //长期: true
    if (dataReg.test(data)) {
      console.log(111)
      let idCardEffDate = this.data.idCardEffDate
      data = idCardEffDate.slice(0, 4) - 0 + 20 + '' + idCardEffDate.slice(4)
      console.log(data) //2030-04-21
      return data
    } else {
      console.log(222)
      data = data + ''
      let year = data.slice(0, 4)
      let month = data.slice(4, 6)
      let day = data.slice(6)
      return year + '-' + month + '-' + day

    }
  },

你可能感兴趣的:(微信小程序)