jQuery добавляет * к URL-адресу

#javascript #jquery

#javascript #jquery

Вопрос:

Я хотел бы добавить * после каждого ключевого слова

Исходный URL:

http://w/r/p/peopleresults.aspx?k=Title:"keyword" extFirstName:"keyword" extemail:"keyword" extworkphone:"keyword" extcellphone:"e"

и результат должен быть:

http://w/r/p/peopleresults.aspx?k=Title:"keyword*" extFirstName:"keyword*" extemail:"keyword*" extworkphone:"keyword*" extcellphone:"22keyword*"

ключевое слово — это динамическое слово, которое может меняться!

Комментарии:

1. И откуда вы получили URL-адрес? Это строка? Из href атрибута? URL страницы?

Ответ №1:

Странный запрос. Я предполагаю, что это приводит к использованию * в качестве подстановочного знака в инструкции SQL для поиска ключевых слов? Если это так, я бы очень тщательно подумал о том, что вы делаете, и о потенциальных проблемах безопасности.

 var url = "http://w/r/p/peopleresults.aspx?k=Title:"keyword" extFirstName:"keyword" extemail:"keyword" extworkphone:"";
url = url.replace("" ", "*" ");
  

Комментарии:

1. ключевое слово — это динамическое слово, которое может меняться!

2. Вы также можете использовать регулярное выражение для замены всего ключевого слова сразу, например: url.replace(‘/ключевое слово/g’, ‘ключевое слово*’);

3. @user472285 все в порядке, опубликованный мной код все равно будет работать, независимо от содержимого url переменной.

4. Я не знаю ни одной широко используемой веб-СУБД с диалектом SQL, которая использует * в качестве подстановочного знака символ .

5. @Tomalak Доступ 😉 Я согласен, хотя это маловероятно, но, по крайней мере, хотел проинформировать OP, поскольку я не мог придумать логическую причину для добавления звездочки к значениям, передаваемым в строке запроса.

Ответ №2:

jQuery не требуется, просто используйте replace

 var keyword = 'keyword';
var url = 'http://w/r/p/peopleresults.aspx?k=Title:"keyword" extFirstName:"keyword" extemail:"keyword" extworkphone:"keyword" extcellphone:"e%2'
url = url.replace(keyword, keyword '*', 'g');
  

Ответ №3:

$('#urlID').replace("" ", "*" ");

Требуется, чтобы у вас был уникальный идентификатор в вашем a-теге.

Ответ №4:

Предполагая, что вы не знаете точно, какой строкой является «ключевое слово», это добавит звездочку ко всему, что окружено «»» (кодировка URL для двойных кавычек):

 url = url.replace(/"(w )"/g, ""$1*"")
  

Ввод:

 http://w/r/p/peopleresults.aspx?k=Title:"keyword" extFirstName:"keyword" extemail:"keyword" extworkphone:"keyword" extcellphone:"e"
  

Вывод:

 http://w/r/p/peopleresults.aspx?k=Title:"keyword*" extFirstName:"keyword*" extemail:"keyword*" extworkphone:"keyword*" extcellphone:"e*"