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

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 21:13:41
字體:
供稿:網(wǎng)友

URL地址自動添加的實(shí)現(xiàn)其實(shí)就是那么點(diǎn)內(nèi)容:檢測與替換。

檢測

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

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

復(fù)制代碼 代碼如下:

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

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

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

復(fù)制代碼 代碼如下:

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

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

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

復(fù)制代碼 代碼如下:

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地址匹配計(jì)較完善的。利用這個表達(dá)式我寫了兩個小函數(shù),將用戶留言的URL地址替換成可點(diǎn)擊的鏈接,沒有什么太難的,就是利用JavaScript 的 replace() 函數(shù)來實(shí)現(xiàn)替換 URL 為 link:

復(fù)制代碼 代碼如下:

/**
 * JavaScrit 版本
 * 將URL地址轉(zhuǎn)化為完整的A標(biāo)簽鏈接代碼
 */

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

        return text;
    };

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 中阳县| 江陵县| 孟村| 静海县| 阜平县| 金川县| 房产| 泽州县| 台山市| 赫章县| 天气| 彩票| 安达市| 绥棱县| 郯城县| 固安县| 克拉玛依市| 宜章县| 青田县| 崇信县| 双江| 榆林市| 兴城市| 威信县| 南城县| 司法| 曲周县| 泰宁县| 宁南县| 襄樊市| 津市市| 隆回县| 延寿县| 景东| 仁寿县| 东平县| 三台县| 香港| 河北区| 深水埗区| 湖南省|