Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅从域+TLD组合中切片域_Javascript_Regex_Regex Negation - Fatal编程技术网

Javascript 仅从域+TLD组合中切片域

Javascript 仅从域+TLD组合中切片域,javascript,regex,regex-negation,Javascript,Regex,Regex Negation,我试图编写一个Greasemonkey用户脚本,检查用户是否在网站列表中 如果用户确实在其中之一,脚本将发出警报: 这个域名已经够了 该脚本的目的是提醒用户停止访问此网站的成瘾行为 输出应仅包括域,不包括TLD 我尝试了以下代码,但失败了该代码在TLD集合上运行,并使用该集合除去这些TLD: let sites = ['walla.com', 'mako.co.il']; let tlds = new RegExp('\.+(com|co.il)'); for (let i = 0; i &l

我试图编写一个Greasemonkey用户脚本,检查用户是否在网站列表中

如果用户确实在其中之一,脚本将发出警报:

这个域名已经够了

该脚本的目的是提醒用户停止访问此网站的成瘾行为

输出应仅包括域,不包括TLD

我尝试了以下代码,但失败了该代码在TLD集合上运行,并使用该集合除去这些TLD:

let sites = ['walla.com', 'mako.co.il'];
let tlds = new RegExp('\.+(com|co.il)');

for (let i = 0; i < sites.length; i++) {
    if (window.location.href.indexOf(sites[i]) != -1 ) {
        sites.forEach((e)=>{
            e.replace(tlds, '').split('.').pop(),
        });

     alert(` Enough with this ${sites[i]} already! `);
    }
}
没有控制台错误


若要复制,请在Greasemoneky/Tampermonkey中安装脚本,并在列出的站点中尝试该脚本。

您应该迭代站点,如果href包含站点[i],则替换域后的所有内容,然后继续执行don、警报和中断循环:

const sites=['walla.com','mako.co.il']; 常量正则表达式=/\..+/; 常数href=http://www.mako.co.il/news?partner=NavBar'; // 此替换window.location.href用于演示 对于let i=0;i<部位长度;i++{ 如果href.includeSites[i]{//如果href包含站点[i] const domain=sites[i].replaceregex,;//删除第一个点及其后面的所有内容以获取域名 警报`已经有了这个${domain}就够了!`; break;//如果在函数中,则返回 }
}试试让tlds=/\.com | co\.il/;或者让tlds=/\.com | co\.il$/;为什么投反对票?。。。我解释了我试图达到的目的、问题、尝试、错误背景和再现。Shalom Ori。非常抱歉,请详细说明你在这里所做的和我所做的之间的区别。你说你从圆点开始就把所有的都换了,但我不明白你的确切意思。我看到您将regex变量移到了if中,并添加了一个具有特定域的新变量。为什么,我谦虚地希望它尽可能灵活。我已经更新了代码,并添加了注释。现在清楚了吗?最终结果是你想要的吗?现在更清楚了,非常感谢!我还假设在href变量中,而不是mako.co.il中,我们可以放置一个regex[a-zA-Z]\..+以提供更一般的用途。关于脚本的用途,我只需要学习如何打印站点的域,因为它看起来更整洁。我尝试了几件失败的事情。该脚本只是帮助我处理我个人在某些网站上的成瘾行为。href变量替换演示的window.location.href。在代码中,应使用window.location.href。