是否有一行javascript会返回下面从window.location.pathname突出显示的URI的粗体部分?
对于奖励积分,如果URI为 / ,我希望它返回 Home
我想在一个只接受一行代码作为返回函数的标记管理器中使用它,因此需要单行函数。
同样,还有一个额外的正则表达式,它还可以返回上述URI的语言代码部分: en , pt-br 或任何其他匹配的语言代码这两种模式中的任何一种,如果不存在,默认返回 en ?
答案 0 :(得分:0)
使用非捕获/可选的正则表达式组来查找语言代码。捕获第一组非/
个字符。如果不匹配,请设置为默认值Home
。
var regex = /^\/(?:[a-z]{2}(?:-[a-z]{2})?\/)?([^/]+)/,
matches = window.location.pathname.match(regex);
var page = matches ? matches[1] : 'Home';
console.log(page); // Arena
同样,您可以选择捕获语言部分:
var regex = /^\/(?:([a-z]{2}(?:-[a-z]{2})?)\/)?([^/]+)/,
matches = window.location.pathname.match(regex);
var language = matches ? matches[1] : 'en',
page = matches ? matches[2] : 'Home';
<强> Demo 强>