【问题标题】:replacing special characters with a specific special character用特定的特殊字符替换特殊字符
【发布时间】:2014-11-03 14:52:53
【问题描述】:

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

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

我已经尝试过在特殊字符到达浏览器之前删除它们......但没有去任何地方......所以计划依靠我的老朋友“javascript”我希望它阅读

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

我知道这可以通过正则表达式来完成,我只是无法弄清楚。我该如何写表达式?

任何帮助将不胜感激

【问题讨论】:

标签: javascript


【解决方案1】:

您可以尝试使用:

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

【讨论】:

  • @Arvind--完全有效..感谢您的指导。这很好,因为我可以在服务器端弹出这个坏男孩,因为我使用的是服务器端 javascript
  • @soum,很高兴它对你有所帮助
【解决方案2】:

看看这些答案:

Regex to remove all special characters from string?

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

例如...

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

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

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

【讨论】:

    【解决方案3】:

    可能你需要 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

    【讨论】:

      最近更新 更多