一般我们经常看到一些在帖子或者别人的文章里,文字中间还会夹带着很多的网址还有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. Lazy<T> 提供对延迟初始化的支持

    延迟初始化  就是在第一次使用的时候在 进行类的初始化 public class Student { public Student() { this.Name = "DefaultName& ...

  2. Wait--查看等待

    --清除等待统计 --===================================================== --清除等待统计 DBCC SQLPERF (N'sys.dm_os_ ...

  3. RobotFramework与Redis库连接

    首先导入:RedisLibrary 具体写法 #连接Redis ${redis_conn} RedisLibrary.Connect To Redis ${DB_host} #获取验证码 ${smsV ...

  4. Fiddler2抓包

    https://www.cnblogs.com/conquerorren/p/8472054.html https://www.cnblogs.com/conquerorren/p/8472218.h ...

  5. WEB应用从服务器主动推送的方法

    1.短轮询 2.长轮询 3.iframe 4.sse 5.Web Scoket

  6. MicroPython (一)点亮我的Led

    工具 : putty F429Discovery 开发板 Notepad++ 注意:不知道为什么 其他的终端工具有问题,推荐 putty 基本没有发现问题 putty 实时调试 使用putty 打开U ...

  7. python设计模式-适配器

    定义: 将一个接口转换为客户希望的另一个接口,该模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 适配器模式又叫变压器模式,也叫包装模式(Wrapper),它的核心思想是将一个对象经过包装 ...

  8. BZOJ3510 首都

    题目描述 在X星球上有N个国家,每个国家占据着X星球的一座城市.由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的. X星球上战乱频发,如果A国打败了B国,那么B国将永远从这个星球消失, ...

  9. [原创]SpringBoot上传图片踩的坑

    最近项目里面有个需求,要上传图片到阿里云的OSS服务.所以需要写个上传图片的接口给前端. 这个简单的接口本来就给分配了1个工时,感觉也蛮简单的.但编码过程中遇到了好几个问题,现在一一记录下来,避免再次 ...

  10. MySQL使用UNIQUE实现数据不重复插入

    unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT.中断操 ...