javascript替换换行符和特殊字符

我在警报中添加了一个“.replace”来删除/替换换行符和硬回车,效果很好。

alert((foo + bar).replace(/(\n|\r)/g,'')); 

我想添加一个类似的部分来替换特殊字符。 这可以自己工作,但如何将两者结合起来,以便删除断点和规格字符?

  .replace(/[^a-zA-Z0-9]/g,'_'); 

这是我对它的最好猜测而且它不起作用….

  alert((foo + bar).replace(/(\n|\r)/g,''),(/[^a-zA-Z0-9]/g,'_')); 

如果您想要替换为您在示例中显示的不同字符串

 alert((foo + bar).replace(/(\n|\r)/g,'').replace(/[^a-zA-Z0-9]/g,'_')); 

如果两者都可以用空字符串替换

 alert((foo + bar).replace(/(\n|\r|[^a-zA-Z0-9])/g,'') 

版本#1

您可以向String原型属性添加新方法

 String.prototype.stripSpecialChars = function() { return this.replace(/(\n|\r|[^a-zA-Z0-9])/g,''); } 

并使用

 (foo + bar).stripSpecialChars(); 

版本#2

您也可以编写一个执行相同操作的函数

 function stripSpecialChars(text) { return text.replace(/(\n|\r|[^a-zA-Z0-9])/g,''); } 

并使用

 stripSpecialChars(foo + bar)