如何使用 Javascript 从字符串中删除特殊字符

How to remove special characters from a string using Javascript

有人可以帮我使用 javascript 或 Jquery 从字符串中删除特殊字符吗?

注: 我只想删除一组特定的特殊字符,而不是用任何字符替换它。下面是我正在尝试的代码。提前致谢。

代码:

filename = filename.replace(/[&\/\#,+()$~%'":*?<>{}|]/g, '').replace(/\u201C/g, '').replace(/\u201D/g, '').replace(/\s+/g, '');

示例字符串名称:

测试 5 & 特别~,#,%,&,“”

实际结果:

(测试5 space特别---------------------space到这里)

预期结果:

Test5特别

试试这个函数:

function removeSpecialChars(str) {
  return str.replace(/(?!\w|\s)./g, '')
    .replace(/\s+/g, ' ')
    .replace(/^(\s*)([\W\w]*)(\b\s*$)/g, '');
}
  • 第一个正则表达式/(?!\w|\s)./g 删除任何不是单词或白色的字符space。 \w 等同于 [A-Za-z0-9_]
  • 第二个正则表达式 /\s+/g 找到 1 个或多个白色 space 的任何外观并将其替换为一个白色 space
  • 第三个正则表达式 /^(\s*)([\W\w]*)(\b\s*$)/g trim 要删除开头或结尾的任何白色的字符串space。