如何在javascript中更改urlpath

如何在javascript中更改urlpath,javascript,jquery,html,css,regex,Javascript,Jquery,Html,Css,Regex,我已经使用javascript生成了url,它可以正常工作,但需要知道其他方法 通过引用对象替换特定路径名 var serverobj ={ "about": "about-us", "info": "get-our-information", "contact": "contactus" } var currenturl = "/en/about" or "/en/contact" or "/en/info-tourspots-cn" function generateurl(

我已经使用javascript生成了url,它可以正常工作,但需要知道其他方法

通过引用对象替换特定路径名

var serverobj ={
  "about": "about-us",
  "info": "get-our-information",
  "contact": "contactus"
}

var currenturl = "/en/about" or "/en/contact" or "/en/info-tourspots-cn"

function generateurl(){
   var urlpath =currenturl.split("/")[2] ? obj[currenturl.split("/")[2].replace(/-/g, "")]:'';
 var redirecturl = window.location.origin+"/"+en+"/"+urlpath;
window.location.href=redirecturl ;                          
}

期望输出

// will be /en/about-us for /en/about 

// will be /en/contact for /en/contactus  

// will be /en/get-our-information-tourspots-cn for  /en/info-tourspots-cn      

您可以将以下正则表达式与replace一起使用

(.*\/)([^-]+)(.*)$

var serverobj={
“关于”:“关于我们”,
“信息”:“获取我们的信息”,
“联系人”:“联系人”
}
var currenturl=[“/en/about”、“/en/contact”、“/en/info-cn”]
函数生成器(url){
返回url.replace(/(.*\/)([^-]+)(.*)$/g,(10;,g1,g2,g3='')=>{
返回g1+serverobj[g2]+g3
})
}

currenturl.forEach(url=>console.log(generateurl(url))
与Internet Explorer不兼容。在这里查看获取窗口来源的更好方法()@Code-Manic感谢您的解决方案,使用多语言url,但有时url类似于/en/about-us-to/en/li-xi-wo-men,如果我使用上述方法,它将/en/undefined-xi-wo-men-men@Code对url的狂热不会一直都是一样的,因此,我应该使用
/
拆分并替换为匹配的服务器对象。请帮助。thanks@Senthil当您没有特定单词的任何映射时,您需要确保您有预期单词的映射,
/en/li xi wo men
在那里我正在匹配
li
,并且由于服务器对象中没有
li
的映射,因此它将是未定义的