国产探花免费观看_亚洲丰满少妇自慰呻吟_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;
    };

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

圖片精選

主站蜘蛛池模板: 昭苏县| 苏尼特右旗| 易门县| 黔东| 太和县| 杨浦区| 无锡市| 荆门市| 积石山| 高淳县| 邮箱| 个旧市| 台中县| 嘉定区| 海城市| 和龙市| 南通市| 凉城县| 贡觉县| 平和县| 涿州市| 互助| 鞍山市| 舞钢市| 兴安盟| 花垣县| 无为县| 余姚市| 竹溪县| 平塘县| 准格尔旗| 新化县| 乌兰察布市| 海盐县| 大宁县| 仲巴县| 固原市| 莆田市| 广水市| 大余县| 武冈市|