【问题标题】:How do i limit the number of characters a user can type in a textbox?如何限制用户可以在文本框中输入的字符数?
【发布时间】:2011-05-11 09:02:49
【问题描述】:

我想限制用户可以在文本框中输入的字符数(比如不超过 100 个字符)。我怎样才能做到这一点?

【问题讨论】:

  • 记得检查/限制服务器端的字符数,以防有人发送超过 100 个字符。
  • 尼克拉斯。谢谢你,我会...

标签: c# asp.net textbox


【解决方案1】:

使用MaxLength property

<asp:TextBox ID="Value1" MaxLength="100" runat="server"/>

【讨论】:

    【解决方案2】:

    您可以使用MaxLength 属性。

    这会导致 HTML 如下所示:

    <input type="text" name="name" maxlength="100" />
    

    但是,值得一提的是,这仅在客户端进行验证,并且很容易绕过。您还应该在服务器端验证它,方法是检查 TextBox.Text 属性的 Length

    【讨论】:

    • 我应用了 maxlength.. 用户将无法发送超过 100 个字符,因为文本框不允许他.. 那么为什么要在服务器端进行检查?
    • 这在某种程度上已经得到了回答:stackoverflow.com/questions/2416242/… 基本上,恶意用户很容易在数据到达您的服务器之前对其进行更改。您可以使用 FireFox 和其他工具的 Web 开发者工具栏插件来实现。
    【解决方案3】:

    如果你有 Multiline 文本框

    ,Javascript 将是你最好的选择
    function IsMaxLength(obj, MaxLen)
    {
      return (obj.value.length <= MaxLen);
    }
    

    并将其附加到Textbox

    onkeypress="return IsMaxLength(this, 100);"
    

    其他人建议的正常设置设置Maxlength就足够了

    【讨论】:

    • V4Vendetta,谢谢 - 正是我想要的,干杯
    【解决方案4】:

    您是指 MaxLength 属性吗?

    【讨论】:

      【解决方案5】:

      您可以使用MaxLength 属性:

      <asp:TextBox ID="zoneTextBox" runat="server" Height="23px" 
                   onkeypress="CallToButton();"
                   Width="89px" MaxLength="1"></asp:TextBox>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-08
        • 1970-01-01
        • 2017-05-07
        • 1970-01-01
        • 2017-07-03
        • 1970-01-01
        • 2013-04-17
        • 2023-03-09
        相关资源
        最近更新 更多