loading...

0

javaScript正则 识别网址文本并转为链接文本

正则 javascript读完大概需要2分钟

  • 发布时间:2017-10-23 22:36 星期一
  • 刘伟波
  • 293
  • 更新于2018-09-05 10:32 星期三

判断网址

在 javaScript 中判断某种特殊格式的文本,首选正则表达式,下面是我用来检查网址的正则:

var re = /(http|ftp|https)://[w-_] (.[w-_] ) ([w-.,@?^=%&:/~ #]*[w-@?^=%&/~ #])?/g;


这里需要注意的是,正则必须使用全局匹配 g 。否则只能匹配到文本中的第一个网址文本。

网址转换

在网址转换中涉及字符串的操作,那么自然要使用 String 对象的方法,先复习下 String 对象能与正则表达式一起使用的方法有哪些?
常用的有这几个:

search:检索与正则表达式相匹配的值。
match:找到一个或多个正则表达式的匹配。
replace:替换与正则表达式匹配的子串。
split:把字符串分割为字符串数组。

可以看出来,其中 replace 是最方便、最适合这个需求的。至于 replace 的使用方法我就不介绍了,大家自行去找教程吧!

直接上代码:

str = str.replace(re,function(website){  return "" website "";});


将上面两个过程,封装成函数:

var linkToURL = function(str){  var re = /(http|ftp|https)://[w-_] (.[w-_] ) ([w-.,@?^=%&:/~ #]*[w-@?^=%&/~ #])?/g;  str = str.replace(re,function(website){    return "" website "";  });  return str;};


你可能感兴趣的文章

    发表评论

    评论支持markdown,评论内容不能超过500字符,如果内容过多或者要及时回复,建议去 segmentfault平台, 也可以来我的直播间来提问。
    关于技术问题或者有啥不懂的都可以留言, 我会定期回复答疑, 也可以来 我的直播间 提问, 推荐最新仓库 前端知识体系, 感謝支持!