账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    帮忙写个正则,用于匹配电话号码
    48
    0

    匹配一段电话号码,单纯的字符串匹配我已经写好了,但是要过滤一些特殊的情况
    这是我写的匹配电话号码的正则,用于匹配电话号,并且添加a标签用于直接点击打电话。并不是用于获取电话号码。

    let phoneRex = /(1[3-8]\d{9})(?!@)/gi
    return xxx.replace(phoneRex, '&nbsp;<a class="tel-text" href="tel:$1">$1</a>&nbsp;')

    但比如匹配下面这个就有问题

    qwerqwer<span name='14412121212'>14412121212</span>14412121212qwerqw14412121212erqewr

    由于这个正则会匹配到span的name和内部,而实际的需求是要匹配所有不被span标签包裹的14412121212,并且前面那个span标签不一定会有,所以正则是应该过滤掉那两种情况的,但是不知道怎么写

    想半天没想出来,求助~~

    update:

    /(1[3-8]\d{9})(?!@|((("|')?>)?\S*<\/\w*>))/gi

    根据大家提供的思路,最终有了这个正则
    用于匹配所有不在标签内的电话号码,第一个排除@符号是因为有的邮箱是电话号码开头的,比如说14412121212@163.com

    感谢大家~

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 共 0 条
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部