繁体   English   中英

如何使用javascript限制文本框中的字符和行数?

[英]How to limit the number of characters and lines in the textbox using javascript?

<script type="text/javascript">
function checking(textarea, maxLines, maxChar) {
    var lines = textarea.value.replace(/\r/g, '').split('\n'), lines_removed, char_removed, i;
    if (maxLines && lines.length > maxLines) {
        lines = lines.slice(0, maxLines);
        lines_removed = 1
    }
    if (maxChar) {
        i = lines.length;
        while (i-- > 0) if (lines[i].length > maxChar) {
            lines[i] = lines[i].slice(0, maxChar);
            char_removed = 1
        }
        if (char_removed || lines_removed) {
            textarea.value = lines.join('\n')
        }
    }
}
</script>

这是我根据先前的几篇文章所使用的内容。 但是此代码允许我在“ m”行中输入“ n”个字符。 有人可以帮我写一个只有30个字符和2行的代码吗? {假设第一行包含10个字符,那么下一行应包含20个字符,但字符总数应为30个字符,而行应为2个字符。}

希望下面的代码可以节省您的时间。

将以下JavaScript函数插入页面标题:

<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) { 
    if (limitField.value.length > limitNum) { 
        limitField.value = limitField.value.substring(0, limitNum);
    } else {
        limitCount.value = limitNum - limitField.value.length;
    }
}
</script>

将以下代码插入页面正文:

<form name="myform">
    <input name="limitedtextfield" type="text" onKeyDown="limitText(this.form.limitedtextfield,this.form.countdown,15);" 
    onKeyUp="limitText(this.form.limitedtextfield,this.form.countdown,15);" maxlength="15"><br>
    <font size="1">(Maximum characters: 15)<br>
    You have <input readonly type="text" name="countdown" size="3" value="15"> characters left.</font>
</form>

此解决方案仅用于限制使用Java脚本的文本框中的字符数。

jQuery文件:

jquery.maxlength.js

/*
             * jQuery Maxlength plugin 1.0.0
             *
             * Copyright (c) 2013 Viral Patel
             * http://viralpatel.net
             *
             * Licensed under the MIT license:
             *   http://www.opensource.org/licenses/mit-license.php
*/


   ;(function ($)
   {

          $.fn.maxlength = function(){

             $("textarea[maxlength], input[maxlength]").keypress(function(event)
             { 
                var key = event.which;

               //all keys including return.
               if(key >= 33 || key == 13 || key == 32) {
                  var maxLength = $(this).attr("maxlength");
                  var length = this.value.length;
                if(length >= maxLength) 
                {                    
                    event.preventDefault();
                }
           }
        });
      }

   })(jQuery);

在您的主文件中

<script type="text/javascript">
        $(document).ready(function($){
            $().maxlength();
        });
</script>

暂无
暂无

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

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