Javascript将数字转换为文本中的超链接

时间:2013-04-29 13:43:35

标签: javascript jquery

我想解析一个包含数字的字符串,以便为表格中的多个单元格使用包含该数字的超链接点击每个数字。

我有一个字符串可以格式化为:12345, 54321, 1354212345 and 54321 and 13542或甚至Number12345等。单元格中的数字量没有限制。

我希望这些数字是超链接,如:

http://www.example.com/example?q=12345
http://www.example.com/example?q=54321
http://www.example.com/example?q=13542

我很高兴听到JS / JQuery中有任何方法可以做到这一点。

谢谢!

2 个答案:

答案 0 :(得分:3)

只要您的表格单元格中只包含文本,这应该可以解决问题:

$(document).ready(function(){
    $("#myTable td").each(function(){
        var text = $(this).html();
        text = text.replace(/(\d+)/g, '<a href="http://example.com/$1">$1</a>');
        $(this).html(text);
    });
});

我在JsFiddle上设置了一个示例来测试它:http://jsfiddle.net/EzfzU/

答案 1 :(得分:0)

我会尝试以下功能,这是对先前回答的修改

$(document).ready(function(){
    $("#myTable td").each(function(){
        var text = $(this).html();
        text = text.replace(/(\d+)/gm, '<a href="http://example.com/$1">$1</a>');
        $(this).html(text);
    });
});

请注意以下差异:

  • \ d +以贪婪匹配捕获任何数字(确保至少存在1个数字)
  • / gm修饰符,以确保具有换行符的偶数字符串的内容匹配