如何忽略特殊字符,如撇号?

时间:2015-12-30 23:38:37

标签: javascript cordova appery.io

当我测试我的应用时,它似乎与一个" ' " (单引号)。我认为它认为我结束了一个字符串,但我不是。该字符串只包含一个特殊字符。

这是我到目前为止所尝试过的,但它没有起作用:

var str = Apperyio("books_selectmenu").val();

return str.replace(/([ #;?&,.+*~:"!^$[\]()=>|\/@])/g,'1');

如果您熟悉PhoneGap和Appery.io,这可能会更有意义。在映射部分,我列出了从数据库到选择菜单的字符串。如果这些字符串包含撇号,我可以回复错误并且应用程序无法正常工作。

我如何才能将撇号视为常规角色?

1 个答案:

答案 0 :(得分:0)

实际上很难确定问题,.val() documentation保证了一个安全的返回值(显然除了回车符号)

问题更可能来自代码的另一部分,但作为一般解决方案,您可以尝试以下方法:

var str = encodeURI(Apperyio("books_selectmenu").val());

encodeURI replaces all characters [...] with the appropriate UTF-8

然后,当您准备好使用/输出字符串时:

var decoded = decodeURI(str);