Javascript 按enter键时
我有一个文本区域,必须限制为100个字符,并希望每一个换行符匹配10个字符 我做了这样的事情:Javascript 按enter键时,javascript,Javascript,我有一个文本区域,必须限制为100个字符,并希望每一个换行符匹配10个字符 我做了这样的事情: let计数器=0; $('textarea')。按键(功能(e){ var tval=$('textarea').val(), t长度=总长度, 设置=10, 保持=parseInt(设置-t长度); 如果(e.which==13){ 计数器++; }否则{ 计数器=0; } 如果(计数器>1){ 警报(“新行”) } $('p')。文本(保留); 如果(保持如果我理解正确,这应该有效 此代码将文本
let计数器=0;
$('textarea')。按键(功能(e){
var tval=$('textarea').val(),
t长度=总长度,
设置=10,
保持=parseInt(设置-t长度);
如果(e.which==13){
计数器++;
}否则{
计数器=0;
}
如果(计数器>1){
警报(“新行”)
}
$('p')。文本(保留);
如果(保持如果我理解正确,这应该有效
此代码将文本放入由\n
分割的textarea
因此,字符总数(不包括换行符本身)为:
- 获取字符总数
- 按新行拆分
- 获取行数
- 空行
总计数为:文本区字符数+空行数*10-新行字符
此外,在更改
、键控
或粘贴
时调用该函数以避免出现问题
let计数器=0;
$('textarea')。在('change keyup paste',函数(e)上{
var text=$(“textarea”).val();
var count=text.length;
var nLine=text.split(/\n/)
变量特征线=nLine.filter(x=>x==“”)。长度
计数器=计数+(特征线*10)-(nLine.length-1)
console.log(“counter=”,counter)
//你想干什么就干什么
})
我会给你的计划添麻烦。你目前只处理按键
。我可以用鼠标将文本粘贴到文本区域,这样就永远不会调用按键事件。你想每增加一行加10吗?还是有空行?我编辑了我的请求。非常感谢你的回答。这是我所需要的。例如,我需要在一个完整的换行符后添加10个字符(不只是一个新行,就像在我的示例中一样),所以在你的代码中我做了“拆分(/\n\n/)”。这很有效,但当我写“hello”和换行符时,我有16个字符(很好),但如果我写了一个新词,我会得到“7”如果新行不是空的,代码就不算10。这就是我理解的。这就是为什么在第一个新行中,代码计数+10,但是如果你写在这行中,那么就不要在总计数中加10(因为这行不是空的)是的,emtpy的新行是10个字符,很好。对不起,我再次编辑了我的请求,以查看我想说的内容:)对不起,我不明白,因为“hello+空行+hello”=20个字符正是我的代码的功能。哦,好的,对不起,我看得不好,非常感谢