安卓正常,ios报错invalid group specifier name

安卓正常,ios报错invalid group specifier name,第1张

问题表现

微信小程序代码在安卓端执行正常,在ios端报错SyntaxError: Invalid regular expression: invalid group specifier name Stack: (native code)

原因

1、格式不对

// 错误格式
let reg = /(?<=\d{3})\d{4}(?=\d{4})/;

// 正确格式
let reg = /(?<=\d{3})\d{4}(?=\d{4})/;

注意两点:
1.用//包裹改为用""包裹
2.\d等元字符改为\d

2、ios不支持零宽断言

什么是零宽断言?

粗略总结:零宽断言是正则表达式中的一种方法,正则表达式在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。

错误代码:

//手机号脱敏代码片段
let reg = /(?<=\d{3})\d{4}(?=\d{4})/;
        return phone.replace(reg, '****')

在这种情况下,ios端就会报错SyntaxError: Invalid regular expression: invalid group specifier name Stack: (native code),需要换一种方式实现这个功能

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/993749.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存