Javascript / JQuery манипулирование строк? - PullRequest
1 голос
/ 21 июня 2009

Я пытаюсь либо захватить только часть этого URL, либо вставить в него часть строки (в зависимости от того, что проще).

Вот URL:

http://www.goodbuytimeshare.com/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/

Полагаю, мне тоже нужно уметь это делать:

/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/

Или превратить в:

http://www.goodbuytimeshare.com/listings/ajax/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/start:1/end:100/

(тот же URL, но «ajax /» будет добавлен после «.com /»)

Что из этого будет проще?

Ответы [ 2 ]

3 голосов
/ 21 июня 2009

Просто, используйте регулярное выражение!

var myString = "http://www.goodbuytimeshare.com/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/";
var matches = (/^http:\/\/[a-zA-Z0-9\.]+(\/.+)$/).exec(myString);
var mySubString = matches[1];

Хотя, теперь у вас есть две проблемы . ; -)

0 голосов
/ 21 июня 2009

Вот решение без регулярных выражений. Конечно, регулярное выражение является кратким.

var original = "http://www.goodbuytimeshare.com/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/";

// split into an array of separate fields

var fields = original.split("/")

var results = "";

for (i=0;i < fields.length;i++) {
// Insert ajax/ in the fourth position

if (i == 3) {
   results += "ajax/";
}

results += fields[i] 

// don't put the slash on the last item

if (i < (fields.length -1)) {
   results += "/";
}
}

// write out the results and append more

document.write(results + "start:1/end:100/");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...