正则表达式中使用圆括号括起来的子表达式是带有从左到右的索引编号的,而且正则表达式会记忆与每个子表达式匹配的文本。如果在替换字符串中出现了$加数字,那么replace()将用与指定的子表达式相匹配的文字来替换这两个字符。 ——《javascript 权威指南》

经常会遇到在一段在文字中给出现的URL加上链接,可以用下面这种方法

var reg = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g, //全局搜索http、https地址
    mysfgg = "这是我的segmentfault网址 https://segmentfault.com/u/idhz";
    
mysfgg  = mysfgg.replace(reg, "<a href='$1$2' target='_blank'>$1$2</a>"); //替换成a标签
alert(mysfgg);

Dong
57 声望1 粉丝