javascript - 在 JavaScript 中使用正则表达式从字符串中删除斜杠

标签 javascript regex

我正在尝试使用以下代码从客户投诉文本区域中删除标点符号以外的所有特殊字符:

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/

相关文章:

javascript - 如何调用 script.jsx 使react.js工作

javascript - 如果使用 JS_NewGlobalObject : SpiderMonkey 程序崩溃

带或不带尾部斜杠的 PHP RegEx

php - 如何在 explode() 函数中使用条件?

Java字符串与通配符的匹配

java - JSF : How put onfocus, 输入字段中的模糊效果?

javascript - keyup 函数验证不起作用

javascript - 使用参数向客户端发送websocket消息

C#/.NET 等同于 Java 的 Matcher.matches() 和 Matcher.lookingAt()

php - 如何通过正则表达式解析 nslookup 结果