jQuery / JavaScript查找并替换为RegEx

斯卡比乔

我有许多页面包含此电话号码,格式为xxx-xxx-xxxx。这些电话号码不是链接,我需要做的是编写一些脚本来首先找到这些电话号码。这就是我为此得到的:

$(document).ready(function(){

var content = $(".main").text();
var phoneNumber = content.match(/\d{3}-\d{3}-\d{4}/)

alert(phoneNumber);
});

这在捕获号码的过程中起很大作用,我现在要做的是将页面上的电话号码替换为

'<a href=" onclick=" ... "' + 'tel:' + phoneNumber + '">' + 'originalPhoneNumber' + '</a>'

但是,我现在完全迷失了。我可以.replaceWith()在jQuery中使用吗?

编辑

好的,我尝试修改代码以包含我想要的第二个属性:

$(document).ready(function () {
    var content = $(".main").html();
    content = content.replace(/\d{3}-\d{3}-\d{4}/g, function(v){
        return $('<a>').attr({
            href: "tel:"+v,
            onclick: "ga('send', 'event', 'lead', 'phone call', 'call');"
        }).html(v)[0].outerHTML;
    });

    $('.main').html(content);
});

它仍在添加href,但忽略了onclick。

TheStatehz

这将用tel:链接替换元素中所有匹配的字符串

<div class = "main">333-333-3333 444-444-4444</div>

<script type="text/javascript">

    var content = $(".main").text();

    content = content.replace(/\d{3}-\d{3}-\d{4}/g, function(v){
        return $('<a>').attr('class', set.classname).attr('href', 'tel:'+v).html(v).wrap('<a>').parent().html();
    });

    $('.main').html(content);

</script>

或更整洁地实现为:

    $.fn.extend({
        tel : function(def) {

            var set = {
                regex : /\d{3}-\d{3}-\d{4}/g,
                classname : ""
            }

            $.extend(true, set, def);

            var c = $(this).html();

            c = c.replace(set.regex, function(v){
                return $('<a>').attr('class', set.classname).attr('href', 'tel:'+v).html(v).wrap('<a>').parent().html();
            });

            $(this).html(c);
            return this;
        }
    });

    // default regex: 000-000-0000
    $('.main').tel();       

    // default regex: 000-000-0000 <a> class of tel-link applied
    $('.main').tel({ classname : "tel-link" });             

    // override regex: 0000-0000-000    
    $('.main').tel({ regex: /\d{4}-\d{4}-\d{3}/g });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery查找子元素内部文本并替换为IMG HTML

来自分类Dev

查找单词并替换为wihtin div jQuery标签

来自分类Dev

使用JQUERY查找并用REGEX替换字符串

来自分类Dev

从HTML文本中查找并替换宽度,然后使用jquery将其替换为新宽度

来自分类Dev

如何使用JavaScript / jQuery将元素替换为文本?

来自分类Dev

JavaScript / jQuery不区分大小写的RegEx替换

来自分类Dev

jQuery查找替换多个单词

来自分类Dev

查找并替换文本jQuery

来自分类Dev

查找并替换-Java脚本/ jQuery

来自分类Dev

jQuery查找并替换iframe src

来自分类Dev

Javascript / JQuery条件替换

来自分类Dev

Javascript JQuery替换标签

来自分类Dev

在Sublime Text中查找并替换为RegEx

来自分类Dev

Javascript查找所有“\”并替换为“/”

来自分类Dev

使用JQuery查找和替换子元素

来自分类Dev

在jQuery中查找并替换代码块?

来自分类Dev

jQuery在div中查找和替换

来自分类Dev

使用jQuery查找和替换元素的类

来自分类Dev

jQuery iframe查找和替换内容

来自分类Dev

jQuery在div中查找和替换

来自分类Dev

用jQuery或Javascript替换iFrame

来自分类Dev

将JQuery RegEx转换为PHP RegEX

来自分类Dev

多项选择,其中问题可以替换为答案,并且可以嵌套在javascript或jquery中

来自分类Dev

使用JQuery或Javascript在IFrame中将视频替换为其他视频

来自分类Dev

将方括号和大括号替换为javascript或jquery中的圆括号

来自分类Dev

jQuery删除超链接并替换为文本

来自分类Dev

jQuery-无用斜杠替换为空格

来自分类Dev

jQuery append将图像替换为img

来自分类Dev

将<a>替换为<label> Jquery Animation Scroll