how to validate a textbox to accept only email id in vb2010
我有一个文本框,用户应该在其中输入他的电子邮件ID。如何验证它只接受电子邮件ID,如果电子邮件ID不包含"@",我希望显示一个消息框,输入有效的电子邮件ID
最好的解决办法是复查。第一个在客户端使用javascript(请参见:javascript正则表达式电子邮件验证),第二个在服务器端使用类似的方法(请参见:如何使用VB编码为ASP.NET表单生成验证代码)。
为什么要两张支票?
如果只有客户端验证,则无法确保用户在将请求发送到服务器之前不会更改内容。用户还可以拥有不兼容脚本的浏览器,或者禁用脚本。
如果您只有服务器端验证,那么您需要等待,直到用户按下一个导致Postbask的按钮,然后检查格式是否有效。如果没有,你需要刷新给他有关信息的页面。这是完全有效的,但并不友好,因为用户必须等到看到服务器响应,而且某些控件也会丢失写入的信息(例如,密码字段)。
下一次在问之前试着做些研究。这个主题有几个答案。
1 2 3 4 5 6 7 8 9 | </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"/> |