我正在使用自定义验证器,因此我可以设置文本框的样式。但是,我不确定如何验证电子邮件地址 - 可能使用正则表达式?这是我正在努力改编的代码:
protected void CustomValidatorBillEmail_ServerValidate(object sender, ServerValidateEventArgs args)
{
bool is_valid = txtBillingEmail.Text != "";
txtBillingEmail.BackColor = is_valid ? System.Drawing.Color.White : System.Drawing.Color.LightPink;
args.IsValid = is_valid;
}
任何帮助,一如既往,将不胜感激。
答案 0 :(得分:2)
这是我的解决方案:
protected void CustomValidatorBillEmail_ServerValidate(object sender, ServerValidateEventArgs args)
{
string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
@"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
@".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
Regex regex = new Regex(strRegex);
bool is_valid = false;
if (regex.IsMatch(txtBillingEmail.Text))
{
is_valid = true;
}
txtBillingEmail.BackColor = is_valid ? System.Drawing.Color.White : System.Drawing.Color.LightPink;
args.IsValid = is_valid;
}
可以改进吗?需要学习!!
答案 1 :(得分:1)
.Net框架附带一个RegEx类(System.Text.RegularExpressions),然后您将提供一个正则表达式来验证网络上有100个版本的电子邮件。