FED83. 替换链接
描述
页面中存在id=jsContainer的DOM元素。HTML/CSS/JavaScript 解法, 执行用时: 923ms, 内存消耗: 78028KB, 提交时间: 2020-12-23
{"css":"a {\n color: #00bc9b;\n}","js":"\n\n\nfunction link() {\n var jsContainer = document.getElementById('jsContainer');\n var content = jsContainer.innerHTML; \n\n var reg = /(http:\\/\\/)?(https:\\/\\/)?www\\.[\\w=\\?&\\.#]+/g;\n var newContent = content.replace(reg,function($,$1,$2){\n var url = ''; \n if($1 || $2){ url = $; }\n else{ url = 'http://'+$; } \n return '<a href=\\\"'+url+'\\\" target=\\\"_blank\\\">'+$+'</a>' });\n jsContainer.innerHTML = newContent;\n}","html":"<div id=\"jsContainer\">\n这里会给出一段随机文本,可能包含一些链接,比如https://www.baidu.com,或者 www.baidu.com?from=onlineExam,如果出现链接文本,请给该链接文本加上链接标签,用户点击后能直接在新窗口中打开该链接。\n</div>","libs":[]}
HTML/CSS/JavaScript 解法, 执行用时: 986ms, 内存消耗: 77892KB, 提交时间: 2021-07-18
{"css":"a {\n color: #00bc9b;\n}","js":"function link() {\n const ele = document.querySelector('#jsContainer')\n const text = ele.innerHTML\n const reg = /((http|https):\\/\\/)?www\\.[\\w\\.]+\\.[\\w]+(\\?[\\S]+)?/g\n ele.innerHTML = text.replace(reg,function(m,p){\n let href = p ? m : 'http://' + m\n return '<a href=\"' + href + '\" target=\"_blank\">' + m + '</a>'\n })\n}","html":"<div id=\"jsContainer\">\n这里会给出一段随机文本,可能包含一些链接,比如https://www.baidu.com,或者 www.baidu.com?from=onlineExam,如果出现链接文本,请给该链接文本加上链接标签,用户点击后能直接在新窗口中打开该链接。\n</div>","libs":[]}
HTML/CSS/JavaScript 解法, 执行用时: 987ms, 内存消耗: 77916KB, 提交时间: 2021-06-23
{"css":"a {\n color: #00bc9b;\n}","js":"function link() {\n document.querySelector('#jsContainer')\n .innerHTML = \n document.querySelector('#jsContainer')\n .innerHTML\n .replace(/(https?:\\/\\/)?([a-z0-9]+\\.)+[a-z0-9]+(([a-z0-9.?/=#]+))?/gi,function(s,s1,s2){\n console.log(s);\n var str = s.slice(0,4);\n console.log(str)\n if(str == 'http')\n return `<a target=\"_blank\" href=\"${s}\">${s}</a>`\n else if(str == 'www.')\n return `<a target=\"_blank\" href=\"http://${s}\">${s}</a>`\n else{\n var result = s.match(/www\\..+/)\n if(result) return `${s.slice(0, result.index)}<a target=\"_blank\" href=\"http://${result[0]}\">${result[0]}</a>`\n }\n return s\n})\n}","html":"<div id=\"jsContainer\">\n这里会给出一段随机文本,可能包含一些链接,比如https://www.baidu.com,或者 www.baidu.com?from=onlineExam,如果出现链接文本,请给该链接文本加上链接标签,用户点击后能直接在新窗口中打开该链接。\n</div>","libs":[]}
HTML/CSS/JavaScript 解法, 执行用时: 996ms, 内存消耗: 77860KB, 提交时间: 2021-05-29
{"css":"a {\n color: #00bc9b;\n}","js":"function link() {\n const el = document.querySelector('#jsContainer');\n el.innerHTML = el.innerHTML.replace(/(https?:\\/\\/)?www(\\.[a-zA-Z\\d]+)+(:\\d+)?(\\/.*)?(\\?[\\w=&]*)?(#[\\w=]*)?/g, function($0,$1) {\n console.log($1)\n let href = $1 ? $0 : ('http://' + $0);\n return '<a href=\"'+ href +'\" target=\"_blank\">'+ $0 +'</a>'\n })\n}\n\n","html":"<div id=\"jsContainer\">\n这里会给出一段随机文本,可能包含一些链接,比如https://www.baidu.com,或者 www.baidu.com?from=onlineExam,如果出现链接文本,请给该链接文本加上链接标签,用户点击后能直接在新窗口中打开该链接。\n</div>","libs":[]}
HTML/CSS/JavaScript 解法, 执行用时: 1002ms, 内存消耗: 77856KB, 提交时间: 2021-07-16
{"css":"a {\n color: #00bc9b;\n}","js":"function link() {\n var dom = document.getElementById('jsContainer')\n dom.innerHTML = dom.innerText.replace(/(http(s)?:\\/\\/|www\\.)[\\w\\.\\?\\=\\&#%]+/g, lj => {\n var bl = /^www/\n var c = ''\n bl.test(lj) ? c = 'http://' + lj : c = lj\n // return `<a href=\" ` + c + ` \" target=\"_blank\">` + lj + ` </a>`\n return `<a href=\"${c}\" target=\"_blank\">${lj}</a>`\n\n })\n }","html":"<div id=\"jsContainer\">\n这里会给出一段随机文本,可能包含一些链接,比如https://www.baidu.com,或者 www.baidu.com?from=onlineExam,如果出现链接文本,请给该链接文本加上链接标签,用户点击后能直接在新窗口中打开该链接。\n</div>","libs":[]}