因此,在上一个问题中,我了解到您可以抓取链接标记之间的内容并将其放置在 HREF 中:
$('a').attr('href', function () {
return 'http://' + $(this).text()})
但是,我需要更多帮助:我需要确定标签之间的文本何时是电子邮件,以将其改为 mailto: href。
我对正则表达式没有太多经验,所以任何建议和指导都会很棒。
谢谢!
最佳答案
首先您需要使用正则表达式检查电子邮件。然后将电子邮件传递给该函数进行测试。如果结果为 true,则在 href 开头添加“mailto:”;如果结果为 false,则在开头添加“http://”。
if(checkEmail($('a').text()))
$('a').attr('href', "mailto:"+$('a').text())
else
$('a').attr('href', "http://"+$('a').text());
function checkEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
关于javascript - 将 HREF 替换为标签之间的内容(使用电子邮件表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29017494/