我正在尝试使用以下代码从客户投诉文本区域中删除标点符号以外的所有特殊字符:
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.
在此先感谢您提供的任何帮助。
最佳答案
变量 complaint
被转换为正则表达式,因为您使用了 RegExp() 构造函数。
这可能不是您想要的。 (我假设您希望 complaint
是一个字符串)。
字符串和正则表达式是两种完全不同的数据类型。
您的输出演示了 JavaScript 如何显示正则表达式(由 /
字符包围)。
如果您想要一个字符串,请不要创建正则表达式(即删除 RegExp 构造函数)。
换句话说:
complaint = complaint.replace(/[^a-zA-Z,.!?\d\s:]/gi, '');
关于javascript - 在 JavaScript 中使用正则表达式从字符串中删除斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18753314/