Удалить первый и последний абзац URL в JavaScript - PullRequest
0 голосов
/ 10 октября 2018

У меня есть код

document.links [i] .href = ('http://example.com/ref=' + document.links [i] .href);

Когда эхо-шоу:

http://example.com/ref=https://photo.domain.com/photo1234&ab=U&bill=0ahUKEw

Как я могу удалить:

https://photo. 
(and) 
&ab=U&bill=0ahUKEw

Результат:

http://example.com/ref=domain.com/photo1234

Я не очень хорош в коде, поэтому мне нужна поддержка всех.

Отдельное спасибо!

Ответы [ 3 ]

0 голосов
/ 10 октября 2018

Я не уверен, что вы на самом деле хотите, но, учитывая информацию, вы можете попробовать этот код.

var x = "http://example.com/ref=https://photo.domain.com/photo1234&ab=U&bill=0ahUKEw";

var res =  x.replace("https://photo.","").split("&")[0];

console.log(res);
0 голосов
/ 10 октября 2018

document.links [i] .href = ('http://example.com/ref=' + document.links [i] .href.match(/\w*.\w*.\w\/\w*/g)[0]);
0 голосов
/ 10 октября 2018

Это должно работать:

Сначала найдите индекс первого вхождения точки (.), потому что это то, после чего вам нужно использовать (то есть после https://photo.).Следовательно, используйте indexOf, который возвращает индекс символа.Затем найдите индекс символа &, потому что до тех пор, пока вам не понадобится рассмотреть строку url.

Теперь, когда вы нашли оба, используйте функцию подстроки, чтобы извлечь строку между двумя индексами.Подстрока принимает 2 аргумента: (i) Начальный индекс, т. Е. Включая символ в этом индексе, поэтому используйте index of. +1. (ii) Конечный индекс, до тех пор, пока здесь не будет считаться строка без учета этого индекса.

var i1 = document.links [i] .href.indexOf('.');  //calculate index of "."
var i2 = document.links [i] .href.indexOf('&');  //calculate index of "&"
document.links [i] .href = document.links [i]. href.substring((i1+1),i2); //extract the string
//now do what you need to...
document.links [i] .href = ('http://example.com/ref=' + document.links [i] .href);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...