javascript 替换换行符和特殊字符

javascript replace line breaks AND special characters

我在 remove/replace 换行符和硬 returns 警报中添加了一个“.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)