繁体   English   中英

在达到特定字符限制的上限时在文本编辑器中自动输入

[英]To do a auto enter in text editor on reaching a particular character limit perline

在JavaScript文本编辑器中,每行接受的总字符数为65。我想将一行中接受的字符数更改为35,而又不更改文本编辑器的总字符长度(65)。

因此,如果用户输入第36个字符,尽管每行的字符长度为65,但光标应移至第二行。每行只能接受35个字符。

只能假设您正在谈论TEXTAREA html标记,在这种情况下,最好的选择是使用JavaScript正则表达式替换来插入新行,您可以将其附加到OnChange事件上。

编辑这个JS小提琴似乎起作用。 我使用了“ keyup”事件而不是“ change”事件。 http://jsfiddle.net/sUS5s/

HTML

<textarea id="demo" rows="5" cols="65"></textarea>

JS

$("#demo").keyup(function(event) {
    var txt = $(this).val();
    $(this).val(txt.replace(/([^\r\n]{35})/gm, "$1\r"));
});

简单的正则表达式替换为替换。 匹配35个连续的非换行符,并将其替换为自己加上一个换行符。

如果您连续输入,这会起作用,您需要稍微复杂一点才能插入到以前的行等中,而不会使新行倾斜。

没有jQuery的编辑

document.getElementById("demo").onkeyup = function() {
    var txt = document.getElementById("demo").value;
    document.getElementById("demo").value = txt.replace(/([^\r\n]{35})/gm, "$1\r");
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM