对于我的学校考试,我们必须验证电子邮件地址,但不允许使用RegularExpressionValidator 。我试图用自定义验证器解决这个问题,但我无法弄明白。 (电子邮件输入位于文本框中(tb_email)。
我试图像这样解决它:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (tb_email.Text == \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* )
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
想到这样的事情:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (tb_email.Text != "")
{
string filter = \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*;
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
我收到大量错误,我无法弄清楚如何做到这一点。我做了很多搜索,但我只找到了答案:只使用Java中的正则表达式验证器或代码解决方案(我还没有学到)。 我真的很感激一个好的答案!感谢
答案 0 :(得分:0)
你可以使用没有REgularExpressionValidator的正则表达式吗?如果是这样的话:
using System;
using System.Text.RegularExpressions;
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (tb_email.Text != "")
{
string filter = \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*;
Regex regex = new Regex(filter );
Match match = regex.Match(tb_email.Text );
if (match.Success)
{
args.IsValid=true; }
else
{
args.IsValid = false;
}
}
在客户端(javascript)看到这篇文章: