Javascript 如何允许另一个索引字符串运行脚本

Javascript 如何允许另一个索引字符串运行脚本,javascript,Javascript,我没有脚本功能,但我想编辑一个现有脚本,该脚本当前限制脚本在URL中包含特定字符串的页面以外的任何页面上运行 下面是脚本的一个片段,它限制了脚本的运行 if(location.href.indexOf("MODULE=MESSAGE")>0||location.href.indexOf("/message")>0) 这只允许脚本在这些页面上运行 mysite/2014/home/11609?模块=MESSAGE1 页面范围从Message1到Message20 mysite/201

我没有脚本功能,但我想编辑一个现有脚本,该脚本当前限制脚本在URL中包含特定字符串的页面以外的任何页面上运行

下面是脚本的一个片段,它限制了脚本的运行

if(location.href.indexOf("MODULE=MESSAGE")>0||location.href.indexOf("/message")>0)
这只允许脚本在这些页面上运行

mysite/2014/home/11609?模块=MESSAGE1

页面范围从Message1到Message20

mysite/2014/home/11609?模块=MESSAGE20

我还希望允许在这些页面上加载和运行脚本

mysite/2014/options?L=11609&O=247&SEQNO=1&PRINTER=1

其中,SEQNO=1的范围从1到SEQNO=20,就像MESSAGE1-MESSAGE20一样

有人能告诉我如何编辑这个小脚本片段,使url中的SEQNO字符串也能工作吗


谢谢

如果您不能完全删除该条件,因为没有足够的上下文来知道这是否是一个选项,您可以添加另一个或条件,如下所示:


请注意,第二个子句实际上没有在您的任何示例中使用,因此可能会被删除。还要注意的是,这实际上并不是在检查一个数字,所以它并不像您建议的那样仅限于Message1到Message20。它将匹配Message21甚至MessageFoo。这对你来说可能是个问题,也可能不是。您可以将条件设置为有意义的限制条件或丢失条件。

如果您只想检查是否存在SEQNO,只需复制正在为模块_消息执行的操作即可

如果还希望确保消息以1-20结尾,并且SEQNO=以1-20结尾,则可以使用正则表达式

// create the end part of the regex, which checks for numbers 1-20
var regexEnd = "([1-9]|1[0-9]|20)[^0-9]*$";
// create the individual regexes
var messageRegex = new RegExp("MODULE=MESSAGE" + regexEnd);
var seqnoRegex = new RegExp("SEQNO=" + regexEnd);

// now comes your if statement, using the regex test() function, which returns true if it matches
if(messageRegex.test(location.href) ||
    seqnoRegex.test(location.href) ||
    location.href.indexOf("/message")>0)

你能不能干脆把这个条件全部去掉?否则,只需添加更多或条件来匹配SEQNOi,就只能在这两个字符串中的任何一个上加载,您能举例说明和或条件来匹配SEQNO吗?
if(location.href.indexOf("MODULE=MESSAGE")>0 ||
    location.href.indexOf("SEQNO=")>0 ||
    location.href.indexOf("/message")>0)
// create the end part of the regex, which checks for numbers 1-20
var regexEnd = "([1-9]|1[0-9]|20)[^0-9]*$";
// create the individual regexes
var messageRegex = new RegExp("MODULE=MESSAGE" + regexEnd);
var seqnoRegex = new RegExp("SEQNO=" + regexEnd);

// now comes your if statement, using the regex test() function, which returns true if it matches
if(messageRegex.test(location.href) ||
    seqnoRegex.test(location.href) ||
    location.href.indexOf("/message")>0)