如何验证文本框以仅接受vb2010中的电子邮件ID

时间:2013-03-18 13:28:19

标签: vb.net visual-studio-2010

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

2 个答案:

答案 0 :(得分:1)

最好的解决方案是进行双重检查。第一个在客户端使用JavaScript(请参阅:JavaScript Regular Expression Email Validation),第二个在服务器端使用类似的方法(请参阅:how to make a validation code for ASP.NET form with VB coding)。

为什么要进行两次检查?

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

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

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

答案 1 :(得分: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"/>