regex / instr javascript函数检查url

时间:2009-10-12 07:32:07

标签: javascript regex

我有8种可能的URL结构,我需要在我的javascript代码中检查,然后在当前页面符合正确标准的情况下运行函数。

网址有8种可能的变体,所有内容都包含关键字问题,因此第一次检查需要隔离并确定当前网页的结构中是否包含关键字“问题”: -

  1. https://meta.stackexchange.com/questions

  2. https://meta.stackexchange.com/questions/ask

  3. https://meta.stackexchange.com/questions?sort=newest

  4. https://meta.stackexchange.com/questions?sort=featured

  5. https://meta.stackexchange.com/questions?sort=active

  6. https://meta.stackexchange.com/questions?sort=votes

  7. https://meta.stackexchange.com/questions?sort=hot

  8. https://meta.stackexchange.com/questions/1308/urgent-help-needed-i-screwed-up-my-site-really-bad-my-realty-questions

  9. 我只对后者(URL结构8)感兴趣,后者在url中始终有关键字'questions',后跟正斜杠(/),然后是1到9之间的数字。

    如果页面网址与上面选项8的格式匹配,如何编写可以确定页面加载的js instr / regex函数。

    希望有人可以提供帮助!

    由于

    乔纳森

3 个答案:

答案 0 :(得分:1)

试试这个:

var str = "http://meta.stackexchange.com/questions/1308/urgent-help-needed-i-screwed-up-my-site-really-bad-my-realty-questions";
var regex = /^.*questions\/\d.*$/;
document.write(str.match(regex));

答案 1 :(得分:1)

您是否只对网址或包含问题的类型感兴趣,后跟斜杠(/),然后是任意数字或只有1-9? 这个匹配任何数字

regularex= /^http:\/\/meta.stackexchange.com\/questions\/[0-9]+\/.*$/;
check = url.match(regularex)

//check will be null if there is no match

答案 2 :(得分:0)

我想你可以试试这个:

var str="http://meta.stackexchange.com/questions/1308/urgent-help-needed-i-screwed-up-my-site-really-bad-my-realty-questions";
document.write(str.search('http://meta.stackexchange.com/questions/[0-9]+'));