【问题标题】:regular expression for asp.net validation controlasp.net 验证控件的正则表达式
【发布时间】:2014-01-13 04:56:26
【问题描述】:

在 ASP.NET 列表视图中,如果文本框控件中的字符串超过给定长度,我需要使用 RegularExpressionValidator 控件引发错误。我对正则表达式的经验很少,希望有人能告诉我这是否很好地使用正则表达式并帮助我开始使用该表达式。谢谢。

【问题讨论】:

    标签: asp.net regex


    【解决方案1】:

    您不需要验证器来执行此操作。只需将 TextBox.MaxLength 属性设置为您想要的长度即可。

    TextBox.MaxLength Property

    获取或设置文本框中允许的最大字符数。

    【讨论】:

    • 非常感谢——这正是我所需要的,即使我因为错过了这样一个简单的解决方案而感到非常愚蠢。活到老,学到老!再次感谢。
    【解决方案2】:

    如您所说,使用正则表达式验证器并将表达式设置为如下所示:

    ^([\S\s]{0,10})$
    

    将 4 替换为您想要的最大长度。

    更新:

    <asp:TextBox id="wtxtTPP" Runat="server" />
    
    <asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" 
            ErrorMessage="RegularExpressionValidator" 
            ValidationExpression="^([\S\s]{0,0})$" 
            ControlToValidate="wtxtTPP" />
    

    或者

    使用MaxLength 属性

    喜欢

     <asp:TextBox id="wtxtTPP" Runat="server" MaxLength="10"/>
    

    【讨论】:

    • 值得注意的是,如果有人使用 Firebug 禁用或修改 MaxLength(例如),他们可以在您的文本框中提交超过 4 个字符的表单。您将需要 RegularExpressionValidator(或服务器端验证方法)以确保该值不超过 4 个字符。
    • 感谢 Vignesh,您的 RegExp 示例运行良好,并且具有提供正常验证错误消息的优势。这两种方法一起工作非常好 - 与服务器端一起使用。
    【解决方案3】:

    正则表达式的一些属性:

    <asp:RegularExpressionValidator
    AccessKey="string"
    AssociatedControlID="string"
    BackColor="color name|#dddddd"
    BorderColor="color name|#dddddd"
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
        Inset|Outset"
    BorderWidth="size"
    ControlToValidate="string"
    CssClass="string"
    Display="None|Static|Dynamic"
    EnableClientScript="True|False"
    Enabled="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ErrorMessage="string"
    Font-Bold="True|False"
    Font-Italic="True|False"
    Font-Names="string"
    Font-Overline="True|False"
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
                Large|X-Large|XX-Large"
        Font-Strikeout="True|False"
    Font-Underline="True|False"
    ForeColor="color name|#dddddd"
    Height="size"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    SetFocusOnError="True|False"
    SkinID="string"
    Style="string"
    TabIndex="integer"
    Text="string"
    ToolTip="string"
    ValidationExpression="string"
    ValidationGroup="string"
    Visible="True|False"
    Width="size"
    />
    

    您可以参考MSDN docs for RegularExpressionValidator了解更多详情。

    【讨论】:

      最近更新 更多