我有一个文本框,用户应该输入他的电子邮件ID。如何验证它仅接受电子邮件ID,如果电子邮件ID不包含“@”,我希望显示一个消息框,输入有效的电子邮件ID
答案 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"/>