[前端][m8] iOS 环境下白屏

知识库地址open in new window

问题现象

iOS 环境下白屏, 无法打开页面,开启vconsole失败

版本信息

问题原因

utils/string 里面有个 api 是用来影藏身份证中间几位的功能,我看了 m8 框架是没有自带的。这个写法里面有个断言语句,在 iOS 端是不支持断言的,会导致 js 阻塞渲染。

正则表达式零宽断言(?=、?<=、?!、?<!)

  • (?=exp) 也叫零宽度正预测先行断言,例:\b\w+(?=ing\b),匹配以 ing 结尾的单词的前面部分
  • (?<=exp) 也叫零宽度正回顾后发断言,例:(?<=\bre)\w+\b 会匹配以 re 开头的单词的后半部分
  • (?!exp) 也叫零宽度负预测先行断言,例:\d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能是数字
  • (?<!exp) 也叫零宽度负回顾后发断言来断言,例:(?<![a-z])\d{7}匹配前面不是小写字母的七位数字

排查步骤

解决方案

  • 修改断言方法
    formatIdentity(number) {
        number += '';

        return number.replace(/(\d{5})\d*([\dX]{4})/g, '$1*********$2');
    }
最后更新时间::
贡献者: 吴松泽