IOS 不支持正则零宽断言

用Vue开发一个专案,需要给在原生APP上,服务器上访问正常,然后挂到APP,安卓手机访问没问题,苹果手机访问报错了,然后把链接拿出来使用Safari访问,错误如下:
[Error] [Vue warn]: Error in created hook: "SyntaxError: Invalid regular expression: invalid group specifier name"

found in

--->  at src/views/Home.vue
        at src/App.vue
         

我自己使用火狐和谷歌都可以,看来是兼容问题,百度了下,说是IOS 上不支持正则的零宽断言,

let reg = new RegExp(`(?<=\\b${key}=)[^&]*`) , str = this.params || '', target = str.match(reg); if(target) {  return target[0] }

上面不能用了,改成如下:

let reg = new RegExp(`(^|&)${key}=([^&]*)(&|$)`),str = this.params || '', target = str.match(reg);if(target) { return target[2]}
这样就OK了,记录下。

 

你可能感兴趣的:(Vue,js,ios,vue.js,正则表达式)