var url = 'http://sub.domain2.net/contact/';
if (['https://sub.domain1.com/', 'http://sub.domain2.net/'].indexOf(url) > -1) {
console.log('match');
} else {
console.log('no match');
}
在上面,它检查url
是否与我的数组中的任何2匹配。只有我希望它与域名部分匹配。
网址http://sub.domain2.net/contact/
应与我的数组中的tld匹配。
答案 0 :(得分:1)
var url = 'http://sub.domain2.net/contact/';
var didMatch = ['https://sub.domain1.com/', 'http://sub.domain2.net/'].some(function(u) {
return url.indexOf(u) !== -1;
});
if (didMatch) {
console.log('match');
} else {
console.log('no match');
}
如果您只想检查数组中网址的开头,请将url.indexOf(u)
替换为url.startsWith(u)
。
如果您想支持< IE9,请使用polyfill。
答案 1 :(得分:0)
您正朝着错误的方向接近问题。如果所有顶级域名的长度相同,则可以将url
剪切为相同的长度,以便在indexOf
中使用。否则,您需要使用循环和startsWith
函数来执行此操作。