【发布时间】:2011-08-31 16:25:09
【问题描述】:
我一直在尝试使用正则表达式,但似乎无法正常工作。我正在尝试将正则表达式与 asp.net RegularExpressionValidator 一起使用。我想要它做的是基本上只允许前导和尾随空格。
所以,
"hello " // would not work.
"hello my name is" // would work.
但在我所有的尝试中,无论我输入什么,它都说输入错误。
这是我使用的:
^\s[a-z]+\s$
有人可以提供一个有效的吗?
另外,当有人说正则表达式返回匹配项时,这意味着什么?
编辑:
我已经尝试了线程中的所有解决方案,但没有一个对我有用。也许这是其他错误而不是正则表达式?以下是相关代码:
<InsertItemTemplate>
<asp:TextBox CssClass="tbUpdateSummary" TextMode="MultiLine" Text='<%# Bind("updateSummary") %>'
ID="tbUpdateSummaryInsert" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="valUpdateSummaryInsert1" runat="server" Display="None"
ControlToValidate="tbUpdateSummaryInsert" ErrorMessage="Update summary must not be empty.">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ValidationExpression="^\s+|\s$" ID="valUpdateSummaryEdit2"
runat="server" Display="None" ControlToValidate="tbUpdateSummaryInsert" ErrorMessage="Update summary must not contain leading or trailing spaces."> </asp:RegularExpressionValidator>
<%--Put c# code to validate length (max 200)--%>
<asp:CustomValidator></asp:CustomValidator>
</InsertItemTemplate>
^[^\s].+[^\s]$
【问题讨论】:
-
我假设您在提交后不想要前导/尾随空格。因此,当提交发生时(如在
btn_Click method中),仅在TextBox的文本上使用String.Trim()(而不是使用正则表达式)可能更有意义。只是一个想法 -
在任何输入上调用 trim() 是否是可接受的解决方案?
-
是的,但我需要学习如何使用正则表达式,因为我还需要测试其他内容。
-
我发现这个工具非常适合学习正则表达式:radsoftware.com.au/regexdesigner
标签: c# asp.net regex validation