2014-10-28 79 views
0

我現在正在使用MultiLine Textbox我想允許其中的所有字符,並且我還希望將文本框的限制設置爲150個字符。所以我想使用正則表達式,所以任何人都可以幫助我。 我使用正則表達式:如何在asp.net中設置多行文本框的限制

"^[A-Za-z0-9\[email protected]#$%^&*()_+=-`~\\\]\[{}|';:/.,?><]*{1,150}$" 

所有工作正常,但它並沒有字符限制爲150

在此先感謝。

回答

-1

換種方式 下面的代碼可鏈接:

http://www.aspsnippets.com/Articles/Limit-number-of-characters-in-an-ASPNet-Multiline-TextBox-using-jQuery.aspx演示的樣品

<title>title> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">script> 

<script type="text/javascript" src="MaxLength.min.js">script> 

<script type="text/javascript"> 

    $(function() { 

     //Normal Configuration 

     $("[id*=TextBox1]").MaxLength({ MaxLength: 10 }); 



     //Specifying the Character Count control explicitly 

     $("[id*=TextBox2]").MaxLength(

     { 

      MaxLength: 15, 

      CharacterCountControl: $('#counter') 

     }); 



     //Disable Character Count 

     $("[id*=TextBox3]").MaxLength(

     { 

      MaxLength: 20, 

      DisplayCharacterCount: false 

     }); 

    }); 

script> 

頭>

<form id="form1" runat="server"> 

<div id="counter"> 

div> 

<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Width="300" Height="100" 

    Text="Mudassar Khan">asp:TextBox> 

<br /> 

<br /> 

<asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" Width="300" Height="100">asp:TextBox> 

<br /> 

<br /> 

<asp:TextBox ID="TextBox3" runat="server" TextMode="MultiLine" Width="300" Height="100">asp:TextBox> 

form> 

體>

HTML>

0

您可以使用TextBox.MaxLength Property如果TextMode屬性未設置爲多行。 MaxLength property does not work for multiline textbox

獲取或設置文本框中允許的最大字符數。 您設置的值是 文本框中允許的最大字符數。默認值爲0,表示該屬性不是 集合。

<asp:TextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server"/> 

如果你想讓用戶知道他是否超過 字符量他寫道,你可以使用連接到 按鍵事件的JavaScript函數。該功能將測試輸入的長度 ,並在達到最大值時取消字符渲染。

入住此Set max length of MultiLine TextBox in ASP.Net

如果你想使用多行模式,然後使用Java的腳本和正則表達式的方式來實現這一目標,並按照以下參考鏈接:
你可以做到這方法:

<asp:TextBox Rows="5" Columns="80" ID="txtCommentsForSearch" MaxLength="10" onkeyDown="return checkTextAreaMaxLength(this,event,'10');" TextMode="multiLine" CssClass="textArea" runat="server"> </asp:TextBox> 

// JS

// JScript File 

function checkTextAreaMaxLength(textBox, e, length) { 

    var mLen = textBox["MaxLength"]; 
    if (null == mLen) 
     mLen = length; 

    var maxLength = parseInt(mLen); 
    if (!checkSpecialKeys(e)) { 
     if (textBox.value.length > maxLength - 1) { 
      if (window.event)//IE 
      { 
       e.returnValue = false; 
       return false; 
      } 
      else//Firefox 
       e.preventDefault(); 
     } 
    } 
} 

function checkSpecialKeys(e) { 
    if (e.keyCode != 8 && e.keyCode != 46 && e.keyCode != 35 && e.keyCode != 36 && e.keyCode != 37 && e.keyCode != 38 && e.keyCode != 39 && e.keyCode != 40) 
     return false; 
    else 
     return true; 
}  

參考文獻:
ASP.NET - Limit number of characters in TextBox control
Limit Number Of Characters In an ASP.NET Multiline TextBox using jQuery
TextBox: Minimum and Maximum Character Length Validation using ASP.Net RegularExpression Validators
Limit the number of characters of a textbox
Specifying maxlength for multiline textbox
How to set maxlength for multiline TextBox?
asp text box limit number of characters?

0

這是很容易做到這一點:較新的瀏覽器支持textareamaxlength屬性元素(但不包括IE9和較早版本的Internet Explorer)。

你可以用javascript限制textarea,或者如果你想顯示「x chars remaining」(比如在SO中發表評論),至少可以得到字符數。

對於以前的瀏覽器,這個javascript會檢查長度與maxlength並防止用戶輸入。但是,由於用戶可能會通過複製和粘貼等方式破壞​​方法,因此使用keyup截斷任何溢出也是一個好主意。另外,如果數據進入服務器/數據庫,在客戶端繞過表單並直接上載POST數據的情況下截斷和清理從客戶端接收到的輸入並不是一個壞主意,在這種情況下,maxlength不起作用。

在ASP.NET中,標記看起來像:<asp:TextBox ID="txt" runat="server" TextMode="Multiline" ClientIDMode="Static" maxlength="150"/>,但對於textarea(TextMode =「Multiline」),maxlength屬性可能無法呈現(可能取決於您的ASP.NET版本)。您可以在標記中驗證它是否被渲染。如果沒有,你可能需要操作文本框的Attributes在這樣的代碼隱藏:txt.Attributes["maxlength"] = "150";(假設C#)

JS小提琴例如:http://jsfiddle.net/aymjsfdp/

// "maxlength" code for older browsers including IE9 and previous versions 
 
var txt = document.getElementById('txt'); 
 
txt.onkeyup = function() { 
 
    var maxlength = parseInt(this.getAttribute("maxlength")) || 0; 
 
    if (maxlength > 0 && this.value.length > maxlength) { 
 
     this.value = this.value.substring(0, maxlength); 
 
     alert('text was truncated to ' + maxlength + ' characters.'); 
 
    } 
 
    document.getElementById('length').innerHTML = this.value.length.toString(); 
 
}; 
 
txt.onkeydown = function() { 
 
    var maxlength = parseInt(this.getAttribute("maxlength")) || 0; 
 
    if (maxlength > 0 && this.value.length >= maxlength && (event.keyCode || event.which) > 49) { 
 
     return false; 
 
    } 
 
};
TEXTAREA { 
 
    width: 300px; 
 
    height: 60px; 
 
}
<div>Chars: <span id='length'></span> 
 
</div> 
 
<textarea id='txt' maxlength='150'></textarea>

相關問題