一般我们经常看到一些在帖子或者别人的文章里,文字中间还会夹带着很多的网址还有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://www.cnblogs.com/jacko这是我的博客网站');  

alert(result);

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

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

正则表达式识别字符串中的URL的更多相关文章

  1. JS 获取字符串中的url并返回其下标索引

    //获取字符串中的url极其下标索引 function getHttpUrlArray(s) { var s1 = s.match(/http.*/); if(s1 == null) { return ...

  2. JS正则表达式获取字符串中特定字符

    JS正则表达式获取字符串中得特定字符,通过replace的回调函数获取. 实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test  实 ...

  3. Java之正则表达式来判断字符串中是否包含字母

    /** * 使用正则表达式来判断字符串中是否包含字母 * @param str 待检验的字符串 * @return 返回是否包含 * true: 包含字母 ;false 不包含字母 */ public ...

  4. Java中用正则表达式截取字符串中

    Java中用正则表达式截取字符串中第一个出现的英文左括号之前的字符串.比如:北京市(海淀区)(朝阳区)(西城区),截取结果为:北京市.正则表达式为() A ".*?(?=\\()" ...

  5. 正则表达式替换字符串中的html标签

    正则表达式替换字符串中的html标签 ··· var newStr = str.replace(/<[^>]+>/g, ''); ···

  6. 由一段字符串中查找URL引出——正则表达式

    需求很简单,是从一段文本中匹配出其中的超链接.基本的做法就是用正则表达式去匹配.但是有这样一个问题. 网上大部分的识别URL的正则表达式url末尾有空格的情况下可以正确识别.比如这样的情况: &quo ...

  7. 正则表达式获取字符串中的img标签中的url链接

    废话不多说直接看代码 JavaScript中的代码: var re = /src=\"([^\"]*?)\"/i; var arr = str.match(re); if ...

  8. iPhone开发--正则表达式获取字符串中的内容

    缘起: 想获取字符串中指定的字符,考虑用正则表达式,遂写了如下的代码: NSString *htmlStr = @"oauth_token=1a1de4ed4fca40599c5e5cfe0 ...

  9. PHP正则表达式-从文本中提取URL

    1.从文本中提取URL的正则表达式 '/https?:\/\/[\w-.%#?\/\\\]+/i'

随机推荐

  1. Partition--分区切换

    现有数据表[dbo].[staging_TB1_20131018-104722]和分区表[dbo].[TB1],需要将分区表和数据表中做数据交换 CREATE TABLE [dbo].[staging ...

  2. html中的table导出Excel

    演示地址: http://www.jq22.com/yanshi3312 具体代码: <!DOCTYPE html> <html lang="zh-CN"> ...

  3. 工作流2013 assign to问题

    根据您的确认, 该问题已经通过我们所提供的方案进行修改后测试通过, 问题解决. 以下为该问题的产生原因: SharePoint 2013使用的默认认证机制与2007不一样,  2007使用的是Wind ...

  4. How to Mount a Remote Folder using SSH on Ubuntu

    Connecting to a server across the internet is much more secure using SSH. There is a way that you ca ...

  5. Docker容器基础认知

    ## 一. [docker](http://www.itxdm.me/archives/tag/docker/)概念 [Docker](http://www.itxdm.me/wp-content/p ...

  6. codis__通用的使用模式

    1,按功能模块分成不同的productName 参照 sample_user, sample_dynamic (见附件) sample_user.tar.gz,sample_dynamic.tar.g ...

  7. The server of Nginx(二)——Nginx基本功能配置

    一.Nginx访问控制 (1)基于授权的访问控制 Nginx于Apache一样,可以实现基于用户授权的访问控制,当客户端要访问相应网站或者目录时要求输入用户名密码才能正常访问,配置步骤与Apache基 ...

  8. iOS tableview性能优化及分析

    1.最常用的就是cell的重用, 注册重用标识符 每次滑动cell时需要先去缓存池中寻找可循环利用的cell,如果没有则再重新创建cell 2.减少cell中控件的数量 view对象尽量缩减控件的数量 ...

  9. nginx下重写隐藏index.php文件

    location / { root /项目目录/; index index.php; if (-f $request_filename/index.php){ rewrite (.*) $1/inde ...

  10. SLIP—串行线路上传输数据报的非标准协议

    目录 SLIP-串行线路上传输数据报的非标准协议 简介 历史 实用性 协议 不足之处 SLIP驱动程序 做了这么多年的程序员后,总想资源回收一下,写一点点什么,却又发现无从写起. SLIP-串行线路上 ...