簡體   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