Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery删除url的一部分_Javascript_Jquery_Replace - Fatal编程技术网

Javascript jquery删除url的一部分

Javascript jquery删除url的一部分,javascript,jquery,replace,Javascript,Jquery,Replace,假设我有以下url http://www.domain.com/en-US/assortment/en-US/category/page.aspx?sub=GROUP7 如您所见,url中有两个语言层,我只想从中删除第二个语言层。所以我希望url是这样的 http://www.domain.com/en-US/assortment/category/page.aspx?sub=GROUP7 由于技术限制,我没有任何其他方法来修改url。这可以通过jQuery或Javascript实现吗?如果

假设我有以下url

http://www.domain.com/en-US/assortment/en-US/category/page.aspx?sub=GROUP7
如您所见,url中有两个语言层,我只想从中删除第二个语言层。所以我希望url是这样的

http://www.domain.com/en-US/assortment/category/page.aspx?sub=GROUP7
由于技术限制,我没有任何其他方法来修改url。这可以通过jQuery或Javascript实现吗?如果是,怎么做?

检查JavaScript函数

好的,使用replace函数,您可以执行以下操作:

var url= "http://www.domain.com/en-US/assortment/en-US/category/page.aspx?sub=GROUP7";

var index = url.lastIndexOf('en-US');  //get last index of language
var substr = url.substr(index);        //get substring of the tail
var newsubstr = substr.replace('en-US','');  //use replace to get rid of second lang
var newurl = url.substr(0,index-1); //first part of the url
var cleanurl = newurl + newsubstr;  //concatenate it
alert(cleanurl);

我真的没有花时间把它弄干净——我会在几分钟内把它清理干净。

因为你指的是一个语言代码,我将编写一个javascript代码来捕获通用语言代码并替换重复的代码

'your url here...'.replace( '/assortment/en-US/category/', '/assortment/category/');
使用正则表达式可以很容易地做到这一点。看看这个

url = "http://www.domain.com/en-US/assortment/en-US/category/page.aspx?sub=GROUP7"

//define regular expression to catch /en-US block
// '/' in front of the language code is also catch in this regular expression
rxp = /(\/[\w]{2}(-[\w]{2})?)/

//split by regular expression
ary = url.split(rxp)

//set the fourth eliment to "" the 4th eliment is the second '/en-US'
ary[3] = "" 

//join array with "" to have the prepare the string
url_new = ary.join("")
join方法中的参数是必需的


这应该适用于目前使用的大多数语言代码

已经试过了,但似乎不起作用。它只会取代第一次出现的en-US。我想替换第二种情况,而不是第一种。有时候它很简单。我所要做的就是检查得更具体一点。谢谢