【发布时间】:2018-03-22 09:20:37
【问题描述】:
我尝试编写一个 Greasemonkey 用户脚本来检查用户是否在一个网站列表中。
如果用户确实在其中之一,脚本会发出警报:
这个域已经够了!
脚本的目的是提醒用户他停止访问这个网站(类似上瘾的行为)。
输出应仅包含域,不包含 TLD。
我尝试了以下失败的代码(代码在 tlds 集合上运行并使用该集合将它们剥离):
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! `);
}
}
没有控制台错误。
要重现,请将脚本安装在 Greasemonky/Tampermonkey 中并在列出的站点中尝试。
【问题讨论】:
-
试试
let tlds = /\.(com|co\.il)/;或let tlds = /\.(com|co\.il)$/; -
为什么投反对票?...我解释了我试图达到的目的、问题、尝试、错误上下文和重现。
标签: javascript regex regex-negation