【发布时间】:2017-03-07 07:15:35
【问题描述】:
根据我提交的 URL 有两个匹配项。他们是 'en-gb' 和 'uk-ireland'
网址:https://www.myabcalphabeta.com/en-gb/destinations/uk-ireland
但是当我返回函数时,它只返回最后一个函数,即 'uk-ireland'
如何捕捉第一场比赛“en-gb”。我还看到循环工作正常,因为它返回了两个值。
$(document).ready(function(){
function getURLLocale() {
var url = $(location).attr("href");
var localeRegex = /^[a-z][a-z]-[a-z][a-z]/g;
var urlBreakdown = url.split("/");
console.log(urlBreakdown);
var lang = "en";
var country = "gb";
for(var i = 0; i < urlBreakdown.length; i++) {
if(urlBreakdown[i].match(localeRegex)) {
lang = urlBreakdown[i].split("-")[0];
country = urlBreakdown[i].split("-")[1];
console.log(lang+ "\n");
};
}
return([lang, country]);
} // End function getURLLocale()
console.log(getURLLocale());
})
【问题讨论】:
-
第一次匹配时不要返回值而不是console.log。
-
将所有巧合放入数组中,不仅是lasto,还是做之前的评论@YonghoonLee
-
@YonghoonLee 无效。
标签: javascript arrays regex