2012-01-03 61 views
4

如何在javascript中为?=制作正则表达式?javascript替换问号

我想从

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 ,而不是一个重写。谢谢。

+0

从键值对更改为单个值目录没有任何意义,并且可以真正消除您已获得的任何编码。是的,你说过练习,但你究竟想在这里完成什么? – Incognito 2012-01-03 20:27:34

回答

16

几乎在那里! =不是特殊字符,不需要转义。此外,正则表达式字符串不包含引号。所以:

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

加快120秒! =)(当然,绝对正确!) – 2012-01-03 20:29:49

4

您可以使用简单的字符串替换:

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

如何

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

请注意,它可能会更好作出功能了解网址结构并重建它,这将产生更健康,更健壮的代码,而不是简单的替换。

+0

双斜杠不会*斜杠斜线。 – PointedEars 2012-01-03 20:33:19

+0

我的不好,与一个反斜杠混淆。纠正。 – 2012-01-03 20:33:46

+0

它会工作一次,但是,它会在OP的要求上失败。固定。另外,我实际上写了FM的一部分,所以请回答我应该久睡的问题并不意味着我缺乏知识。 http://i.qkme.me/35bp94.jpg <<这是我顺便做的脸:) – 2012-01-03 20:44:24