vb.net中的emailid验证

时间:2010-01-30 18:07:58

标签: asp.net regex

如何在vb.det中验证此ID

“enash.dine@gmail.com”using = ValidationExpression =“^ [\ w - ] + @ [\ w - ] +。(com | net | org | edu | mil)$ 以上代码不接受此ID,但这是有效的 例如

<tr>
        <td align="right">
          <font face="Arial" size="2">Email Address:</font>
        </td>
        <td>
          <asp:TextBox ID="email" Width="200px" MaxLength="60" runat="server" />
        </td>
        <td>
          <asp:RequiredFieldValidator ID="emailReqVal" ControlToValidate="email" ErrorMessage="Email. "
            Display="Dynamic" Font-Names="Verdana" Font-Size="12" runat="server">
        *
          </asp:RequiredFieldValidator>
          <asp:RegularExpressionValidator ID="emailRegexVal" ControlToValidate="email" ErrorMessage="Email. "
            Display="Static" ValidationExpression="^[\w-]+@[\w-]+\.(com|net|org|edu|mil)$"
            Font-Names="Arial" Font-Size="11" runat="server">
        Not a valid e-mail address.  Must follow email@host.domain.
          </asp:RegularExpressionValidator>
        </td>
      </tr>

2 个答案:

答案 0 :(得分:1)

“。”在地址中不是[\ w - ]指定的允许字符的一部分。

请改为:^[\w.-]+@[\w.-]+\.(com|net|org|edu|mil)$

你也应该逃避最后一次“。”因为这会匹配正则表达式中的任何单个字符,不一定是点。转义它会将其视为文字点,如上所示。

答案 1 :(得分:1)

^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$