簡體   English   中英

jquery包裝一個電子郵件地址

[英]jquery wrap a e-mail address

我在文本中有幾個電子郵件地址,它們保存在變量中。 電子郵件地址采用此格式test[-@-]test.com

現在我想用span元素<span>test[-@-]test.com</span>包裝每個電子郵件地址。

我怎樣才能做到這一點?

使用回調函數要好得多:

var wrap = function(text) {  
    $("#Text").html( function(){  
        var patt1= new RegExp(text, "g");  
        return $("#Text").html().replace(patt1, function(match){return "<strong>"+ match +"</strong>"});  
    });  
};  

http://www.javascriptkit.com/jsref/regexp.shtml#replacecallback一樣

如果您的文本位於變量字符串中,則可以使用正則表達式:

str = str.replace(/([a-z]+\[-@-\][a-z]+\.[a-z]+)/g,'<span>$1</span>');

http://jsfiddle.net/mblase75/yjVFj/

但請注意, 將電子郵件地址與正則表達式匹配可能會非常棘手

用於創建一個新的span元素,如下所示:

var emailArray = ["test1[-@-]test.com", "test2[-@-]test.com", "test3[-@-]test.com"];
$.each(emailArray, function (index) {
    emailArray[index] = $('<span>' + emailArray[index] + '</span>');
});

對於普通的vanilla JavaScript:

function wrap(text, element) {
    return document.createElement(element).innerText(text);
}

否則,如果你正在使用jQuery, .wrap('span')jQuery API

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM