正则表达式识别字符串中的URL

Posted -JackoChan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式识别字符串中的URL相关的知识,希望对你有一定的参考价值。

一般我们经常看到一些在帖子或者别人的文章里,文字中间还会夹带着很多的网址还有URL而且URL还是可以点击进去的;还有另外一个较常用到的地方就是聊天系统中识别对话的URL,废话不多说,入正题请看下面的代码!

// 从字符串中提取url  
    function matchUrl(str){  
        res = str.replace(/((?:http:\/\/)(?:.[\w]+)+)/g,function(){  
            if (/^http/.test(arguments[1]))  
            {  
                return "<a class=‘urlTag‘" + " onclick=webPage(‘"+arguments[1]+"‘) "  +"href=‘javascript:void(0)‘>"+arguments[1]+"</a>";  
            } else {  
                return "<a class=‘urlTag‘" + " onclick=webPage(‘http://"+arguments[1]+"‘) " +"href=‘javascript:void(0)‘>"+arguments[1]+"</a>";  
            }  
        });  
        return res;  
    }  
result = matchUrl(‘http://blog.csdn.net/jacko_chan这是我的博客网站‘);  

alert(result);

(上面的正则是匹配URL没有www开头,如果有需要可以加个判断)

<script type="text/javascript">  
    str = ‘http://www.baidu.com‘;  
    result = str.match(/((?:http:\/\/)?w{3}(?:.[\w]+)+)/g);  
    if (result == null) {  
        result = str.match(/((?:http:\/\/)?(?:.[\w]+)+)/g);  
    };  
    document.write(result);  
</script> 

以上是关于正则表达式识别字符串中的URL的主要内容,如果未能解决你的问题,请参考以下文章

Javascript 清理 URL 正则表达式

正则表达式字符串不再识别字符串中的用户名标签 [重复]

JAVA 中的网站/URL 验证正则表达式

通过 Java 正则表达式提取 semver 版本字符串的片段

Javascript/jQuery - 使用正则表达式解析字符串中的主题标签,URL 中的锚点除外

经典 ASP 中的正则表达式,以确定 URL 是不是具有特定字符串