【发布时间】:2014-01-13 04:56:26
【问题描述】:
在 ASP.NET 列表视图中,如果文本框控件中的字符串超过给定长度,我需要使用 RegularExpressionValidator 控件引发错误。我对正则表达式的经验很少,希望有人能告诉我这是否很好地使用正则表达式并帮助我开始使用该表达式。谢谢。
【问题讨论】:
在 ASP.NET 列表视图中,如果文本框控件中的字符串超过给定长度,我需要使用 RegularExpressionValidator 控件引发错误。我对正则表达式的经验很少,希望有人能告诉我这是否很好地使用正则表达式并帮助我开始使用该表达式。谢谢。
【问题讨论】:
您不需要验证器来执行此操作。只需将 TextBox.MaxLength 属性设置为您想要的长度即可。
获取或设置文本框中允许的最大字符数。
【讨论】:
如您所说,使用正则表达式验证器并将表达式设置为如下所示:
^([\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"/>
【讨论】:
正则表达式的一些属性:
<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了解更多详情。
【讨论】: