RegularExpressionValidator无法正确处理字母数字字段

时间:2015-08-11 13:08:04

标签: asp.net regex

我有一个asp.net网络应用,我正在尝试将RegularExpressionValidator应用到一个只允许使用字母数字字符和空格的字段,但是当我在字段中输入(例如ss)时它会失败我的验证员,要么我有大脑事实,要么问题就在我面前,而我却无法看到它。

HTML

<div class="form-group">
    <asp:Label ID="Label1" class="col-md-3 control-label" runat="server" Text="Enter full name" AssociatedControlID="txtData1"></asp:Label>
    <div class="col-md-3">
        <asp:TextBox ID="txtData1" runat="server" class="form-control"></asp:TextBox>
    </div>
    <div class="col-md-offset-3 col-md-9">
        <asp:RequiredFieldValidator Display="Dynamic" runat="server" ID="reqFullName" SetFocusOnError="true" ForeColor="Red" ControlToValidate="txtData1" ErrorMessage="Please enter your full name." />
        <asp:RegularExpressionValidator Display="Dynamic" runat="server" ID="regexpName"
                                        SetFocusOnError="true" ForeColor="Red"
                                        ControlToValidate="txtData1"
                                        ErrorMessage="Only alphanumeric characters are allowed."
                                        ValidationExpression="^a-zA-Z\s" />
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题

^[a-zA-Z\s]+$

这个正则表达式

  • 验证至少存在1个字母数字字符或空格(&#34; +&#34;)
  • 还允许制表符或任何其他空格,(&#34; \ s&#34;)

你的正则表达式的主要问题是你没有指定量词(&#34; +&#34;)而忘记列出字符类中的允许字符。