asp.net验证控件的正则表达式

时间:2014-01-13 04:56:26

标签: asp.net regex

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

3 个答案:

答案 0 :(得分:3)

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

  

TextBox.MaxLength Property

     

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

答案 1 :(得分:0)

正则表达式的一些属性:

<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了解更多详情。

答案 2 :(得分:0)

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

^([\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"/>