在JS中,我需要确定现在加载哪种URL模式。
有些网页的网址如下:
http://example.com/sameword/otherword/
其他人
http://example.com/sameword/anotherword/123132/
正如您所看到的,域名和网址的第一部分是相同的。我想我必须在JS中使用regexp,但不知道如何制作正确的正则表达式。
更新:
更新2: 示例网址:
http://example.com/rentals/rossiya-moskva-i-obl/
http://example.com/rentals/rossiya-moskva-i-obl-moskva/1722224/
http://example.com/cabinet/objects/
它们都是不同的页面。我有一个DB,我可以存储SOMETHING并从JS调用SOMETHING以在首选页面上启动功能。例如,今天我希望第一类网址提醒,明天 - 第二类。 它应该是获取SOMETHING的所有页面上相同的固定JS代码,并且SOMETHING确定它是否需要在该页面上运行函数。
答案 0 :(得分:1)
答案 1 :(得分:0)
将URL放在数组中 - 一个数组用于今天的URL,另一个用于排除。
var todays_urls = [
'//example\.com/rentals/rossiya-moskva-i-obl/',
'//example\.com/rentals/usa-nyc/'
];
var todays_exceptions = [
'//example\.com/rentals/usa-nyc/\d+/',
'//example\.com/cabinet/objects/'
]
在实际代码中,您可能会使用AJAX从服务器获取此信息。
然后,您可以针对两个列表测试当前URL。
if (!todays_exceptions.some(function(el) {
return RegExp(el).test(document.location);
}) && todays_urls.some(function(el) {
return RegExp(el).test(document.location);
})) {
alert("This is a good URL");
}