正在做的项目,关于用电子邮件帐号登录。下面发布一下关于Email格式有效性验证,前后台相结合方式,确保用户所填写是有效信息注册!主要采用正则表达式,比较高效处理事务。
前台用js对表单进行验证:
function isEmailTrue(email) {
var regexpEmail = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
return regexpEmail.test(email);
}
后台采用C#.net验证:
public bool CheckEmail(string strEmail)
{
int Bz = 1;
bool blUserName = false;
bool blServer = false;
bool blDomain = false;
char[] charDate = strEmail.Trim().ToCharArray();
if (strEmail.Trim().Length == 0)
{
return false;
}
else if (strEmail.Trim().Length > 0 && Char.IsLetterOrDigit(strEmail[0]) == false)
{
return false;
}
foreach (char c in charDate)
{
//验证用户名部分是否输入正确
if (Bz == 1)
{
if (c == '@')
{
Bz = 2;
continue;
}
if (ValidateUsernamePart(c))
{
if (blUserName == false)
{
blUserName = true;
}
continue;
}
return false;
}
//验证服务器部分是否输入正确
if (Bz == 2)
{
if (c == '.')
{
Bz = 3;
continue;
}
if (ValidateServerOrDomainPart(c))
{
if (blServer == false)
{
blServer = true;
}
continue;
}
return false;
}
//验证域名部分是否输入正确
if (Bz == 3)
{
if (ValidateServerOrDomainPart(c))
{
if (blDomain == false)
{
blDomain = true;
}
continue;
}
return false;
}
}
//检查各部分是否有输入为null的.
if (blUserName == false || blServer == false || blDomain == false)
{
return false;
}
return true;
}