前端安卓正常 较低版本的ios打开页面空白 并且报错SyntaxError:Invalid regular expression: invalid group specifier name

问题:这个项目是pc端直接适配到移动端的 在上线使用之后呢 发现有的苹果手机打开是空白页面 

经过排查发现手机的系统较高的可以打开稍微低一点的就不可以

然后就利用 vConsole 调试工具来查看报错信息 我是在 index.html 文件里面加的 cdn 方式引入

<script src="https://cdn.bootcss.com/vConsole/3.15.1/vconsole.min.js"></script>
      <script>
          const vCosole = new window.VConsole()
      </script>

在打开空白的页面调试 报错信息为 SyntaxError:Invalid regular expression: invalid group specifier name

原因说是:打包后的js不支持原生的双斜线格式的正则 //   Safari浏览器会在某个正则规则下无法解析出来

本来有一个正则的js文件里面是用//写的 需要修改new RegExp('')的形式

export const strictPhone = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
export const strictPhone = new RegExp('^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$');

首先 \d 要写成  \\d   然后使用 new RegExp('')的形式

注意除了这个js文件中的正则 一些文字替换什么的可能也使用了正则 都是需要改过来的(这个项目中用户姓名的显示我就使用了正则没有发现 导致改了之后 还有会报错 最后全部都改好了之后 这个报错就解决啦)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值