我正在编写一个 JavaScript 应用程序,它将检查用户输入的回车符(十六进制 0D)和换行符(十六进制 0A),但是,如果将文本粘贴到 Web 表单文本区域字段中,回车符就会消失,只留下换行符作为换行符。我需要识别回车以正确处理数据。
这是一个最小的例子:
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 字段的正常行为吗?有什么方法可以在网络表单输入中保留回车符和换行符吗?
最佳答案
尝试改用这个表达式:
/[\n\r]/g
if (/[\n\r]/g.test(document.crform.sandbox.value))
换行由\n
(换行)和\r
(回车)组成。
关于javascript - 在 textarea 字段中保留回车符(十六进制 0D),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32254604/