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

时间:2016-03-04 18:33:50

标签: javascript regex replace trim

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

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

代码:

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

示例字符串名称:

Test5&amp;特别〜,#,%,&amp; ,, ,,,,,,,,“”

实际结果:

(Test5 空间特别----------------------- 空格直到这里

预期结果:

Test5特别

1 个答案:

答案 0 :(得分:9)

尝试使用此功能:

function removeSpecialChars(str) {
  return str.replace(/(?!\w|\s)./g, '')
    .replace(/\s+/g, ' ')
    .replace(/^(\s*)([\W\w]*)(\b\s*$)/g, '$2');
}
  • 第一个正则表达式/(?!\w|\s)./g删除任何不是单词或空格的字符。 \w相当于[A-Za-z0-9_]
  • 第二个正则表达式/\s+/g找到一个或多个空格的任何外观并用一个空格替换
  • 第3个正则表达式/^(\s*)([\W\w]*)(\b\s*$)/g修剪字符串以删除开头或结尾处的任何空格。