0

我有一个文本框,用户应该在其中输入他的电子邮件 ID。如何验证它是否只接受电子邮件 ID,如果电子邮件 ID 不包含“@”,我希望显示一个消息框,输入有效的电子邮件 ID

4

2 回答 2

1

最好的解决方案是进行双重检查。第一个在客户端使用 JavaScript(请参阅:JavaScript 正则表达式电子邮件验证),第二个在服务器端使用类似方法(请参阅:如何使用 VB 编码为 ASP.NET 表单制作验证代码)。

为什么要两张支票?

  • 如果您只有客户端验证,则无法确保用户在将请求发送到服务器之前没有更改内容。用户还可以使用不兼容脚本的浏览器或禁用脚本。

  • 如果您只有服务器端验证,则需要等到用户按下导致 postbask 的按钮,然后检查格式是否有效。如果没有,您需要刷新向他提供有关它的信息的页面。这是完全有效的,但不友好,因为用户必须等到他可以看到服务器响应,而且一些控件会丢失书面信息(例如,密码字段)。

下次在问之前尝试做一些研究。这个话题有几个答案。

于 2013-03-18T13:31:58.157 回答
0
<asp:TextBox ID="txtEmailID" runat="server"></asp:TextBox>

<asp:RegularExpressionValidator ID="regEmailId" runat="server"
   ControlToValidate="txtEmailID" ErrorMessage="Invalid Email"
   ValidationExpression="\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}\b"
   ValidationGroup="Validate"></asp:RegularExpressionValidator>

<asp:Button id="btnEmailValidation" runat="server" ValidationGroup="Validate"
   Text="Validate Email"/>
于 2013-03-18T13:30:30.353 回答