var pattern = /(ftp|http|https)://(w+:{0,1}w*@)?(S+)(:[0-9]+)?(/|/([w#!:.?+=&%@!-/]))?/g var description = '12345678910 http://www.nanakon.com/1 abcdefg http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html' description = description.replace(pattern, function(link) { var newlink = link.split('//')[1] return '<a href="' + link + '">' + _B.truncate(newlink, 40) + '</a>' }) console.log(description) //12345678910 <a href="http://www.nanakon.com/1">www.nanakon.com/1</a> abcdefg <a href="http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html">www.cnblogs.com/rubylouvre/archive/20...</a>