Javascript insideText 添加两个 用户按下的每个回车键

问题描述 投票:0回答:1

在我的 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 读取时,当段落中使用更多回车符时,会超出最大限制。

我需要两个长度同步。

javascript angular textarea innerhtml innertext
1个回答
0
投票

您只需将

\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>

© www.soinside.com 2019 - 2024. All rights reserved.