jquery包装一个电子邮件地址

问题描述 投票:0回答:4

我在文本中有几个电子邮件地址,它们保存在变量中。电子邮件地址的格式为test[-@-]test.com

现在我想用span元素qazxsw poi包装每个电子邮件地址。

我怎样才能做到这一点?

javascript jquery regex
4个回答
1
投票

如果您的文本位于变量字符串中,则可以使用正则表达式:

<span>test[-@-]test.com</span>

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

但请注意,http://jsfiddle.net/mblase75/yjVFj/


1
投票

使用回调函数要好得多:

matching email addresses with regular expressions can be tricky business

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


0
投票

用于创建一个新的span元素,如下所示:

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

0
投票

对于普通的vanilla JavaScript:

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

否则,如果你正在使用jQuery,function wrap(text, element) { return document.createElement(element).innerText(text); } .wrap('span')

© www.soinside.com 2019 - 2024. All rights reserved.