2012-08-22 41 views
1

我想用javascript正则表达式函数替换符号。我无法找到替代单引号的方法。 我使用的代码是.replace(/([.?*&+^$[\]\\(){}|-])/g, "");用空格替换单引号和其他符号

如何将单一引号转义添加到这个?

回答

0

添加'到支架式的开头:

.replace(/(['.?*&+^$[\]\\(){}|-])/g, ""); 
0

在字符类的末尾只需添加',它会被删除。它由于破折号-而引发错误。它试图定义一个范围(你可以[A-Z],但当然|-'没有意义)。所以你最终的正则表达式:.replace(/([.?*&+^$[\]\\(){}|\-'])/g, ""); 逃脱了破折号使它成为一个文字短划线而不是一个范围字符。

0

我建议你通过转义任何你想要替换的字符来创建适当的正则表达式。这样你就可以毫无困难地将任何字符添加到这个列表中。

这将使简单的命令,如:

.replace(/([\.\?\*\&\+\^\$\[\]\\\(\)\{\}\|\-\'])/g, "") 

希望这有助于

0

它可能会更容易扭转的表达,并强调一切,这不是一个有效的字符。

string.replace(/([^a-zA-Z0-9])/, ''); 

将^添加到字符映射的开始位置会颠倒字符类。所以这将删除任何非字母数字字符。

+0

你测试过了吗?如果我们能够像你给出的一样概括答案会很好,但它不起作用。 –