使用 onkeyup="this.value=this.value.replace..." 防止在文本区域输入中键入换行符

Prevent Typing a Line Break in textarea Input With onkeyup="this.value=this.value.replace..."

我不希望用户在我的 textarea 输入中键入一些字符。 我使用一个全局变量(php):`

$preventedInputCharacters = '=:;?/$*<>|\[\]\'';

并在文本区域输入中使用它(抱歉转义反斜杠,它来自 php 字符串。):

onkeyup="this.value=this.value.replace(/['.$preventedInputCharacters.']/g, \'\')"

问题是,当用户使用换行符(回车键)时,它会损害我的代码,所以我也想禁用它。

我应该在哪里以及如何修改以将 "line break" 添加到我阻止的输入字符中?

谢谢。

加上\n就是答案:

onkeyup="this.value=this.value.replace(/['.$preventedInputCharacters.'\n]/g, \'\')"

您可以通过调用 jquery 事件键码来完成,这将阻止回车键功能

$('#textarea').keypress(function(event){
  var key_code = event.keyCode;
  if(key_code==13){
    event.preventDefault();
  }
});