用特定的特殊字符替换特殊字符

时间:2014-09-10 04:22:10

标签: javascript

我有一个完全像这样的字符串......

R%26B,Alternative,Rock,Classic Rock,Heavy Metal,Classical,Reggae%2fSka,

我已经尝试过在他们到达浏览器之前移除特殊字符......但是没有去任何地方......所以要依靠我老的和值得信赖的朋友" javascript"我想要它阅读

R& B,Alternative,Rock,Classic Rock,Heavy Metal,Classical,Reggae& Ska,

我知道这可以通过正则表达式来完成,我无法弄明白。我该怎么写表达式?

任何帮助都将受到高度赞赏

3 个答案:

答案 0 :(得分:2)

您可以尝试使用:

decodeURIComponent("R%26B,Alternative,Rock,Classic Rock,Heavy Metal,Classical,Reggae%26Ska")
//^prints^ "R&B,Alternative,Rock,Classic Rock,Heavy Metal,Classical,Reggae&Ska"

答案 1 :(得分:1)

可能你需要decodeURIComponent()函数。

<script>
 var decodedString = decodeURIComponent('R%26B,Alternative,Rock,Classic Rock,Heavy Metal,Classical,Reggae%2fSka');
</script>

http://www.w3schools.com/jsref/jsref_decodeuricomponent.asp

答案 2 :(得分:1)

看看这些答案:

Regex to remove all special characters from string?

他们布局了一个正则表达式,除了你想要允许的那些字符之外,它将删除所有字符,这比删除%26,%2f等列表更安全。

例如......

[^ 0-9a-zA-Z,] +将允许所有字母,数字,逗号和空格。

[^ 0-9a-zA-Z] +只是字母和数字

其他答案可能指向一个更好的方向......如果它意味着在它到达客户端之前修复字符串。