Как изменить URL-адрес в JavaScript - PullRequest
1 голос
/ 07 июля 2019

Я сгенерировал URL, используя javascript, он работает, но мне нужно знать любой альтернативный метод, чтобы сделать.

Заменить конкретное имя пути, ссылаясь на объект

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      

1 Ответ

1 голос
/ 07 июля 2019

Вы можете использовать следующее регулярное выражение с заменой

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

enter image description here

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

var currenturl = ["/en/about","/en/contact","/en/info-tourspots-cn"]

function generateurl(url){
  return url.replace(/(.*\/)([^-]+)(.*)$/g, (_, g1, g2, g3 = '') => {
    return g1 + serverobj[g2] + g3 
  })
}

currenturl.forEach(url => console.log(generateurl(url)) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...