【问题标题】:Remove invalid characters from the href="tel:" attribute using jQuery使用 jQuery 从 href="tel:" 属性中删除无效字符
【发布时间】:2014-07-25 04:51:14
【问题描述】:

我有一个 HTML5 电话链接:

<a href="tel:+44 (0) 1234 567 890">

目前,href 属性正在从 CMS 中的一个字段中获取数据,我无法对其进行编辑。我知道号码格式不正确,因为点击/点击电话链接会导致错误页面。

我希望href 属性写成这样,以便与所有移动设备兼容:

<a href="tel:+441234567890">

如何使用 jQuery 从href 属性中删除空格和(0) 字符?

【问题讨论】:

    标签: javascript jquery html href tel


    【解决方案1】:

    您可以使用它来修复所有href以tel:开头的链接:

    $('a[href^="tel:"]').attr('href', function(_,v){
        return v.replace(/\(0\)|\s+/g,'')
    });
    

    Demonstration

    这使用了replace 函数,将regular expression 作为参数。我使用的正则表达式可以这样理解:

    • \(0\) : "(0)" 带括号转义
    • |:或
    • \s+ : 至少一个空格

    正则表达式末尾的g 标志使其应用多次。

    所以它用空字符串替换(0) 或空格。

    【讨论】:

    • 那里的一行缺少分号。
    • @SeanKendle 这是风格问题。如果你愿意,你可以添加它,但它并不是真正需要的。
    • 非常感谢!你能简单解释一下v.replace之后的代码在做什么吗? - 我无法从角色中理解...
    • @user1794295 我扩展了我的回答来解释
    • @dystroy 非常好 - 现在非常清晰易懂,谢谢。
    【解决方案2】:
    var l=$("a[href^='tel:']");
    l.attr("href",l.attr("href").replace(/\s+/g,'').replace("(0)", ""));
    

    DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 2013-06-27
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 2022-11-14
      • 2017-02-02
      相关资源
      最近更新 更多