2016-05-26 4 views
1

Мне нужно, чтобы удалить часть URL, если он соответствует //videoid?v=Удалить часть URL с помощью JavaScript

предполагая мой URL может быть

- www.abc.com/video/ 
- www.abc.com/video/videoid?v=1234567 
- www.abc.com/video//videoid?v=1234567 

в случае URL имеет // слеш перед тем videoid?v= затем мне нужно удалить одного / из URL, так что URL будет правильно, таких как www.abc.com/video//videoid?v=1234567

currentURL = document.URL;

+1

является то, что 'www.abc.com/video//videoid?v = 1234567' будет правильным URL-адресом? – RomanPerekhrest

+0

За исключением части, следующей за протоколом, это двойная косая черта, когда-либо правильная в URL-адресе? Я подозреваю, что вам не нужно сначала искать строку «videoid» (в большинстве случаев). –

ответ

2

Вы можете использовать регулярное выражение и использовать его, как это удалить двойные вхождения "/":

"www.abc.com/video//videoid?v=1234567".replace(/([^:]\/)\/+/g, "$1"); 

Рабочий пример: https://jsfiddle.net/os5yypqm/3/

EDIT:

Я редактировал JSFiddle включить «http: //» перед URL-адресом, чтобы вы могли видеть, что это не влияет на него (а также читайте здесь). Невозможно использовать его на SO, хотя вам нужно увидеть скрипку.

2

Если ваша единственная забота - двойная косая черта.

var currentUrl = 'www.abc.com/video//videoid?v=1234567'; 
currentUrl.split('//').join('/'); 

Результаты в www.abc.com/video/videoid?v=12345678

+0

он также удалит '/' из http: // – Learning

+1

@ Просмотр http: // не был в вашей предоставленной строке. Кроме того, это решение, вероятно, медленнее, чем регулярное выражение заменяет другие ответы. – Milanzor

1

Вы можете заменить косую черту, если следуют прямой косой черты и "v" с пустой строкой

"www.abc.com/video//videoid?v=1234567".replace(/\/(?=\/v)/g, "") 
Смежные вопросы