javaScript正则 识别网址文本并转为链接文本
正则 javascript读完大概需要2分钟
- 发布时间:2017-10-23 22:36 星期一
- 刘伟波
- 273
- 更新于: 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;};
发表评论: