国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript自動給文本url地址增加鏈接的方法分享

2024-05-06 15:59:53
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了javascript自動給文本url地址增加鏈接的方法,有需要的朋友可以參考一下

URL地址自動添加的實現其實就是那么點內容:檢測與替換。

檢測

“檢測”就是檢測文字(字符串)內部是否有符合http地址的內容,顯然,這需要用到正則表達式進行驗證,這個工作前端和后臺都可以做,這里,只講前端的方法,使用JavaScript實現。

驗證HTTP地址的正則表達式如下(可能有疏漏或是不準確之處,歡迎指正):

復制代碼 代碼如下:


var reg = /(|https://)((w|=|?|.|/|&|-)+)/g;

前一部分匹配http或是https開頭的URL字符串地址,后面一部分匹配一些字符,英文字符、下劃線(_)、點號(.)、問號(?)以及等號(=),連接短線(-)等。

替換
說到JavaScript中的替換功能,首先想到的自然是replace屬性了,replace屬性強大之處在于其支持正則表達式,可以對符合正則的字符串進行替換。例如,我們要替換掉字符串兩端的空格就可以使用類似下面的語句:

復制代碼 代碼如下:


var s = " blank ";
s = s.replace(/^s+(.*?)s+$/, "");
alert(s);

就會得到”blank”,兩端的空格被剔除了。同樣的,這里只要將匹配的http地址替換成<a>標簽嵌套的含有href屬性的http地址就可以了

例,這個表達式可以匹配 http,https,ftp,ftps以及IP地址的URL地址。

復制代碼 代碼如下:


var URL = /(https?://|ftps?://)?((d{1,3}.d{1,3}.d{1,3}.d{1,3})(:[0-9]+)?|([w]+.)(S+)(w{2,4})(:[0-9]+)?)(/?([w#!:.?+=&%@!-/]+))?/ig;

還算是URL地址匹配計較完善的。利用這個表達式我寫了兩個小函數,將用戶留言的URL地址替換成可點擊的鏈接,沒有什么太難的,就是利用JavaScript 的 replace() 函數來實現替換 URL 為 link:

復制代碼 代碼如下:


/**
 * JavaScrit 版本
 * 將URL地址轉化為完整的A標簽鏈接代碼
 */

var replaceURLToLink = function (text) {
        text = text.replace(URL, function (url) {
            var urlText = url;
            if (!url.match('^https?://')) {
                url = 'http://' + url;
            }
            return '' + urlText + '';
        });

        return text;
    };

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 荆州市| 奉化市| 和田市| 县级市| 大丰市| 青龙| 原平市| 余庆县| 维西| 郯城县| 武威市| 锡林浩特市| 武陟县| 孝感市| 德州市| 大同县| 天祝| 元谋县| 威远县| 诸城市| 深泽县| 丹棱县| 乌鲁木齐县| 内丘县| 沙河市| 饶阳县| 沂水县| 余江县| 松潘县| 宁陵县| 汤阴县| 灵宝市| 枝江市| 舒城县| 诸暨市| 镇巴县| 衡阳县| 衡阳县| 南澳县| 永修县| 大安市|