如果匹配//videoid?v=
假设我的网址可以
- www.abc.com/video/
- www.abc.com/video/videoid?v=1234567
- www.abc.com/video//videoid?v=1234567
如果网址在//
之前有videoid?v=
正斜杠,那么我需要从网址中删除单个/
,以便网址正确,例如www.abc.com/video//videoid?v=1234567
currentURL = document.URL;
答案 0 :(得分:2)
您可以使用正则表达式并像这样使用它来删除“/”的两次出现:
"www.abc.com/video//videoid?v=1234567".replace(/([^:]\/)\/+/g, "$1");
工作示例:https://jsfiddle.net/os5yypqm/3/
修改强>
我编辑了JSFiddle,在网址前加上“http://”,这样你就可以看到这不会影响它(并且在这里也可以阅读)。不能在SO上使用它,但你需要看到小提琴。
答案 1 :(得分:2)
如果你唯一担心的是双斜线。
var currentUrl = 'www.abc.com/video//videoid?v=1234567';
currentUrl.split('//').join('/');
www.abc.com/video/videoid?v=12345678
答案 2 :(得分:1)
如果后跟正斜杠,则可以替换正斜杠;如果是空字符串,则可以替换"v"
"www.abc.com/video//videoid?v=1234567".replace(/\/(?=\/v)/g, "")