JS如何判断textarea的内容是否有换行?
|
freeflydom
2026年3月10日 11:14
本文热度 42
|
:JS如何判断textarea的内容是否有换行?
可以使用JavaScript检查 <textarea> 元素的值中是否包含换行符。由于浏览器在处理 <textarea> 的值时,会将所有类型的换行符(如 \r\n、\r)统一转换为 \n(LF),因此直接检查字符串中是否存在 \n 即可。
方法一:使用 indexOf()
const textarea = document.getElementById('myTextarea');
const hasNewline = textarea.value.indexOf('\n') !== -1;
console.log(hasNewline); 方法二:使用正则表达式 test()
const textarea = document.querySelector('textarea');
const hasNewline = /\n/.test(textarea.value);
console.log(hasNewline);完整示例(包含事件监听)
<textarea id="myTextarea" rows="4" cols="50"></textarea>
<button onclick="checkNewline()">检查是否有换行</button>
<script>
function checkNewline() {
const textarea = document.getElementById('myTextarea');
const hasNewline = textarea.value.includes('\n'); // includes 更直观(ES6)
alert(hasNewline ? '包含换行符' : '不包含换行符');
}
</script>说明
使用 textarea.value 获取输入的内容。
'\n' 代表换行符,includes()、indexOf() 或正则表达式都能有效检测。
如果只想检测是否按下了回车键(而不是已有内容的换行),可以监听 keydown 事件并检查 key === 'Enter',但注意需要排除 Shift+Enter 等组合键。
该文章在 2026/3/10 11:14:09 编辑过