微信小程序安卓端打开没问题,ios端打开空白页,可能是正则搞的鬼?

387 阅读1分钟

案例复现:

小程序那块使用了富文本,然后用户上传图片后,提交保存,使用正则表达式获取HTML里面的img标签里的src内容,然后上传到云存储

在匹配HTML的img标签里面的src内容的时候 使用的正则如下

let files=content.match(/(?<=(src="))[^"]*?(?=")/ig);

如果用了 <= 就会出错打开白屏,仅IOS端出现,但是使用真机调试又没问题

解决方案:

用new RegExp()将正则表达式包裹起来,比如上面表达式就可以写成:

let files=content.match(new RegExp('(?<=(src="))[^"]*?(?=")','ig');