2014-10-28 129 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>

相关问题