2012-01-03 3 views
4

Как сделать регулярное выражение для ? и = в javascript?javascript replace question mark

Я хочу кое-что из

http://localhost/search?search=words

к

http://localhost/search/search/words

к (/ поиск /)

<script> 
var ss = "http://localhost/search?search=words".replace("/\?search\=/g", "/search/"); 
document.write(ss); 
</script> 

BTW (поиск =?): Просто некоторые prastic , а не переписывание htaccss. Благодарю.

+0

Переход от пары ключ-значение к каталогу с одним значением не имеет смысла и может действительно испортить все, что у вас есть. Да, ты сказал практику, но что ты на самом деле пытаешься сделать здесь? – Incognito

ответ

16

Практически там! = не является особым символом и не нуждается в экранировании. Кроме того, строки регулярных выражений не завертываются кавычками. Итак:

"http://localhost/search?search=words".replace(/\?search=/g, "/search/"); 
+0

+1 за 120 секунд быстрее! =) (и, конечно, абсолютно правильно!) –

4

Вы можете использовать простую строку для замены:

var ss = "http://localhost/search?search=words".replace("?search=", "/search/"); 
3

Как насчет

str.replace(/[?=]/g, "/"); 

Обратите внимание, что это, вероятно, лучше, чтобы сделать функцию, чтобы понять URL-адрес структуру и восстановить его должным образом, что создаст гораздо более здоровый, надежный код, а не просто замену.

+0

Двойная косая черта * не * бежит косой чертой. – PointedEars

+0

Мой плохой, смущенный обратным слэшем. Исправленный. –

+0

Он будет работать один раз, но да, он не справится с требованиями OP. Исправлена. Кроме того, я практически написал часть этого FM, поэтому, пожалуйста, я отвечаю на вопросы, когда я должен долго спать, не означает, что мне не хватает знаний. http://i.qkme.me/35bp94.jpg << это лицо, которое я сделал btw :) –

Смежные вопросы