以下代码隐藏了某个网站的所有网页并嘲笑了该网站。
let sites = ['mako.co.il', 'walla.co.il'];
for (let i = 0; i < sites.length; i++) {
if (window.location.href.indexOf(sites[i]) != -1 ) {
alert(` Enough with this ${sites[i]} garbage! `);
}
}
以这种方式显示domain.tld:
“足够这个domain.tld垃圾!”。
我怎样才能剥离.tld
,所以最后的结果将是:
“这个域垃圾够了!”。
/[domain]@.2,/
正则表达式可能与.com
或co.uk
不匹配,只有“域”会出现在警报上,但我不知道如何将这种正则表达式实现到{ {1}}在确认中。
答案 0 :(得分:0)
需要说明的是,这是一个漫长而丑陋的方式,但我想告诉你,没有正则表达式就可以了:
function splitDomain(str) {
var beforeDomain = str.split(" domain");
var afterDomain = beforeDomain[1].split(" ").splice(1, 1);
beforeDomain.splice(1, 1);
beforeDomain.push("domain")
afterDomain.forEach(function(item) {
beforeDomain.push(item);
})
var final = beforeDomain.join(" ")
console.log(final);
}
splitDomain("Enough with this domain.tld shit!");
splitDomain("Enough with this domain.co.uk shit!");
splitDomain("Enough with this domain.com shit!");
&#13;
答案 1 :(得分:0)
这取决于字符串的复杂程度,但域的简单匹配可能如下所示:
str.replace(/(\.[a-zA-Z]{1,3}){1,2}/, '')
这适用于“domain.com”,“domain.co.uk”,“domain.es”的大多数示例。你可能能找到一个更好的正则表达式,但想法是一样的。