2015-05-23 4 views
-2

Привет, у меня есть строка, которая строит себя, но у меня есть ссылки, которые позволяют вам вернуться к разделу и т. Д. Теперь, как это работает, он передает идентификатор в строке запроса.удалить все после определенной строки javascript

т.е.

http://localhost:34523/buyhouse?house1=fd524fa0-a6de-e411-80c7-00155d105c00&house2=b6093a35-c2de-e411-80c7-00155d105c00 

теперь я могу найти идентификатор, который мне нужно сократить его с момента, когда нажата кнопка, как идентификатор передается в систему, но я хочу, чтобы удалить все после ид, но держать все в строка запроса до.

т.е.

, если идентификатор "fd524fa0-a6de-e411-80c7-00155d105c00" был принят в результате я хотел бы в конце концов

http://localhost:34523/buyhouse?house1=fd524fa0-a6de-e411-80c7-00155d105c00 

, как это будет удалить все после этого идентификатора.

Есть ли способ javascript, я могу это сделать.

благодаря

ответ

0
<script> 
    function myFunction(str, p) { 
     var head = str.split("?"); 
     var res = head[1].split("&"); 
     var url = head[0]+"?"+res[p]; 
    return url; 
    } 
} 
    </script> 

ул Ваш полный URL:

ул = «// локальный: 34523/buyhouse house1 = fd524fa0-a6de-e411-80c7-00155d105c00 & House2 = b6093a35-C2DE -e411-80c7-00155d105c00" ;

"p" - это позиция идентификатора, в которой вы нуждаетесь.

+0

Nice find! Но это зависит от требований OP, может быть, он должен разделиться после второго из трех идентификаторов. – 11684

+0

теперь он должен покрыть это тоже. – Abel

0

Самый простой способ, я могу думать о том, чтобы использовать indexOf(), чтобы найти, где начинается идентификатор, добавить к нему длину id, а затем использовать подстроку.

function cutOffAfter(mainString, delimiter) { 
    var delimiterIndex = mainString.indexOf(delimiter); 
    if (delimiterIndex != -1) { // If delimiter was found 
     var endingIndex = delimiterIndex + delimiter.length; 
     mainString = mainString.substring(0, endingIndex); 
    } 
    return mainString; 
} 
1

Прежде всего, нужно найти параметры GET на URL, как так:

window.location.search.replace("?", ""); 

выше линии получает параметры GET, но удаляет ? в начале строки.

Вы можете использовать split() функцию JavaScript, чтобы разделить параметры в массив:

var getParameters = window.location.search.replace("?", "").split('&'); 

Теперь у вас есть массив следующим образом:

getParameters['house1=fd524fa0-a6de-e411-80c7-00155d105c00', 'house2=b6093a35-c2de-e411-80c7-00155d105c00']; 

Теперь вы можете использовать эти значения массива для создания ссылок:

window.location.href = 'http://localhost:34523/buyhouse?'+getParameters[0]; 

Это перенаправит вас на:

http://localhost:34523/buyhouse?house1=fd524fa0-a6de-e411-80c7-00155d105c00

Смежные вопросы