在我的 Angular 项目中,我有一个文本区域,从中读取 insideHTML 并向用户显示剩余的字符数
从同一个文本区域,我通过innerText读取文本并将长度发送到服务器以存储在数据库中。
Here innerHTML is : "hi<div><br></div><div>k</div><div><br></div><div>gh</div>" - Length 9
innerText is : "hi\n\n\nk\n\n\ngh" - Length 11
当用户在文本区域中输入最大字符数并且通过innerText 读取时,当段落中使用更多回车符时,会超出最大限制。
我需要两个长度同步。
您只需将
\n
替换为空字符串即可进行计数。
注意:但从技术上讲,我认为换行符是根据字数计算的!但我想这最终取决于您的要求!
const wrapper = document.querySelector('.wrapper');
const innerHTML = wrapper.innerHTML;
const innerText = wrapper.innerText;
console.log(innerHTML.length);
console.log(innerText.length);
// solution as per your requirements!
const innerTextNoBreaks = wrapper.innerText.replace(/\n/g, '');
console.log(innerTextNoBreaks.length);
<div class="wrapper">
hi
<div><br></div>
<div>k</div>
<div><br></div>
<div>gh</div>
</div>