: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 編輯過