写一个简单的聊天系统,发出Htpp的Url实现跳转加上a标签,下面是具体的实现,感兴趣的朋友不要错过

背景:写一个简单的聊天系统,发出Htpp的Url实现跳转加上a标签。 
实现代码:

复制代码代码如下:
String.prototype.httpHtml = function(){ 
var reg = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g; 
return this.replace(reg, '<a target=_blank href="$1$2">$1$2</a>'); 
}; // www.jbxue.com

摘录: 
URL地址自动添加的实现 
URL地址自动添加的实现其实就是那么点内容:检测与替换。

检测 
“检测”就是检测文字(字符串)内部是否有符合http地址的内容,显然,这需要用到正则表达式进行验证,这个工作前端和后台都可以做,这里,只讲前端的方法,使用JavaScript实现。 
验证HTTP地址的正则表达式如下(可能有疏漏或是不准确之处,欢迎指正): 
var reg = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g; 
前一部分匹配http或是https开头的URL字符串地址,后面一部分匹配一些字符,英文字符、下划线(_)、点号(.)、问号(?)以及等号(=),连接短线(-)等。

替换 
说到JavaScript中的替换功能,首先想到的自然是replace属性了,replace属性强大之处在于其支持正则表达式,可以对符合正则的字符串进行替换。例如,我们要替换掉字符串两端的空格就可以使用类似下面的语句:

复制代码代码如下:
var s = " blank "; 
s = s.replace(/^\s+(.*?)\s+$/, ""); 
alert(s); 

JavaScript实现url地址自动检测并添加URL链接示例代码的更多相关文章

  1. JavaScript实现http地址自动检测并添加URL链接

    一.天生我材必有用 给http字符自动添加URL链接是比较常见的一项功能.举两个我最近常用到的自动检测http://地址并添加链接的例子吧,首先是QQ邮箱,在使用QQ邮箱时,如果输入了URL地址(ht ...

  2. C#自动给文章关键字加链接实现代码

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  3. jsp页面使用javascript添加页面元素示例代码

    <body>    <input type="button" value="test" onclick="javascript:a( ...

  4. [javascript]XMLHttpRequest GET/SET HTTP头与改变HTTP METHOD示例代码

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. vuejs解析url地址

    函数: // url解析函数 // ?id=111&name=567 => {id:111,name:567} export function urlParse(){ let obj = ...

  6. PHP 获取当前类名、方法名、URL地址

      1.PHP获取当前类名.方法名  __CLASS__ 获取当前类名  __FUNCTION__ 当前函数名(confirm)  __METHOD__ 当前方法名 (bankcard::confir ...

  7. Magento获取当前页面URL地址

    Magento获取当前页面URL地址 http://www.sunhaibing.com/?p=1260 在Magento中,可以通过core/url助手类中的getCurrentUrl()方法获取当 ...

  8. 《安卓网络编程》之第四篇 处理URL地址

    在Android手机系统中,可以通过URL地址获取网络资源.在URL类的众多方法中,可以使用openStream()方法来读取该URL资源的输入流InputStream.在此方法的基础上可以引申出很多 ...

  9. php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)

    1.电子邮件地址的校验 <?php /* 校验邮件地址*/ function checkMail($email) { //用户名,由“w”格式字符.“-”或“.”组成 $email_name= ...

随机推荐

  1. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  2. 非刚性图像配准 matlab简单示例 demons算法

    2011-05-25 17:21 非刚性图像配准 matlab简单示例 demons算法, % Clean clc; clear all; close all; % Compile the mex f ...

  3. java中对map使用entrySet循环

    根据JDK5的新特性,用For循环Map,例如循环Map的Key 1 2 3 for(String dataKey : paraMap.keySet())   {       System.out.p ...

  4. uva 10986 - Sending email(最短路Dijkstra)

    题目连接:10986 - Sending email 题目大意:给出n,m,s,t,n表示有n个点,m表示有m条边,然后给出m行数据表示m条边,每条边的数据有连接两点的序号以及该边的权值,问说从点s到 ...

  5. ORACLE ------MYSQL2014 大会 PPT

    https://oracleus.activeevents.com/2014/connect/focusOnDoc.do?focusID=17888

  6. Improving Lock Performance in Java--reference

    After we introduced locked thread detection to Plumbr couple of months ago, we have started to recei ...

  7. Servlet中的转发

    public class OneServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServ ...

  8. PHPinstanceof filal这几个关键字的使用

    instanceof表示属不属于的意思 eg: class person{} class Student extends person{} $s=new person(); $st=new stude ...

  9. find命令基本使用一览

    find命令相对于locate这种非实时查找的搜索命令,大大增加了我们搜索的便捷度以及准确性:并且能够方便的帮助我们对大文件.特定类型的文件查找与删除,特别是有超多小碎文件的时候,更是方便至极.... ...

  10. 从Kali 2.0 转至 Kali Rolling

    1. 修改官方软件库列表 编辑/etc/apt/sources.list,注释掉原有内容,然后添加下述内容. # kali rolling deb http://http.kali.org/kali ...