在JavaScript中使用RegEx从字符串中删除斜杠

时间:2013-09-12 00:10:13

标签: javascript regex

我正在尝试使用此代码从客户投诉textarea中删除除标点符号之外的所有特殊字符:

var tmp = complaint;
complaint = new RegExp(tmp.replace(/[^a-zA-Z,.!?\d\s:]/gi, ''));

但它会将“/”放在前面,并在消毒后放在字符串的后面。

示例:

 Hi, I h@ve a% probl&em wit#h (one) of your products.

像这样出来

 /Hi, I have a problem with one of your products./

我想要

 Hi, I have a problem with one of your products.

提前感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:1)

变量complaint转换为正则表达式,因为您使用 RegExp()构造函数。

这可能不是你想要的。 (我假设您希望complaint成为字符串)。

字符串和正则表达式是两种完全不同的数据类型。

您的输出演示了JavaScript如何显示正则表达式(由/字符包围)。

如果你想要一个字符串,不要创建一个正则表达式(即删除 RegExp构造函数)。

换句话说:

complaint = complaint.replace(/[^a-zA-Z,.!?\d\s:]/gi, '');

答案 1 :(得分:1)

您不需要RegExp构造函数:

complaint = tmp.replace(/[^a-zA-Z,.!?\d\s:]/gi, '');