繁体   English   中英

限制文本区域中的换行符

[英]Limit line breaks in textarea

我有一个文本区域,我想允许用户通过按 Enter 进行换行,但我想将其限制为只有一个换行符,因为这样用户可以添加他们想要的多个换行符,在 output 中创建巨大的空白.

  <textarea maxLength={3000} onChange={(e) => setPersonBio(e.target.value)} value={personBio} type="text" rows="5" className="bio-content" placeholder="Enter something about yourself..."></textarea>

然后我将它显示在<p>带有white-space: pre-line;

我的问题是如何限制用户可以输入的休息时间,或者在提交后删除额外的休息时间。

你可以试试这个:

 <textarea maxLength={3000} onChange=textAreaChange(e) value={personBio} type="text" rows="5" className="bio-content" placeholder="Enter something about yourself..."></textarea>
var pre="";
function textAreaChange(e){
    if(e.target.value.split("\n").length>1){
        e.target.value=pre;
        return;
    };
    setPersonBio(e.target.value);
    pre=e.target.value;
};

将 javascript 添加到您为该站点保留所有其他 javascript 的位置。

您可以使用String方法searchincludewhile循环中,以删除除一个给定重复字符之外的所有字符。

 let text = "abc\n\n\ndef\n\nghi"; document.write('<textarea rows=6>'+text+'</textarea>'); while (text.includes("\n\n")) text = text.replace("\n\n","\n"); document.write('<textarea rows=6>'+text+'</textarea>');

暂无
暂无

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

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