在文本区域字段中保留回车(十六进制0D)

Preserving carriage-returns (Hex 0D) in textarea fields

本文关键字:十六进制 0D 回车 保留 文本 区域 字段      更新时间:2023-09-26

我正在编写一个JavaScript应用程序,它将检查用户输入的回车(十六进制0D)和换行(十六进制0A),但是,如果文本粘贴到web-form textarea字段中,回车将消失,只留下换行符作为断行字符。我需要识别回车来正确处理数据。

下面是一个简单的例子:

function checkForCR() {
  if (/'r/.test(document.crform.sandbox.value)) {
    alert('Carriage Returns found.');
  } else {
    alert('Carriage Returns NOT found.');
  }
  return false;
}
<form name='crform' onsubmit="return checkForCR();">
  <textarea name="sandbox" cols="50" rows="5"></textarea>
  <br />
  <input type="submit" value="Check for Carriage Returns">
</form>

如果我粘贴一些包含换行符的文本到字段中,无论我粘贴什么,我都无法获得'r的阳性测试。

这是浏览器中textarea字段的正常行为吗?有什么方法可以保留回车字符以及web表单输入中的换行符?

试着用这个表达式代替:

/['n'r]/g
if (/['n'r]/g.test(document.crform.sandbox.value))

新行由'n(换行符)和'r(回车符)组成。