快快的一天
public class Valider{
private bool accept=false;
private string vldemail=null;
public delegate void BeginValidData();
public event BeginValidData OnBeginValid;
public delegate void EndValidData();
public event EndValidData OnEndValid;
public void Proccess(string email){
if(OnBeginValid!=null)
OnBeginValid();
vldemail =email;
validAtSym();
if(accept)
validUserName();
if(accept)
Console.WriteLine("电子邮箱地址格式正确,通过验证");
else
Console.WriteLine("电子邮箱地址格式不正确,未通过验证");
if(OnEndValid !=null)
OnEndValid();
}
private void validAtSym()
{
//获取字符串中第一个@的下标
int first = vldemail.IndexOf("@");
//获取字符串中最后一个@的下标
int last = vldemail.LastIndexOf("@");
//验证字符串中是否存在@
if (first == -1)
{
accept = false;
return;
}
//验证字符串中是否只有一个@
if (first != last)
{
accept = false;
return;
}
//验证@不在字符串的首尾
if ((first == 0) || (last == vldemail.Length - 1))
{
accept = false;
return;
}
//@符号符合要求
accept = true;
#region 方法二
////以@为准拆分字符串
//string[] arr = vldemail.Split('@');
////验证@的唯一性
//if (arr.Length != 2)
//{
// accept = false;
// return;
//}
////验证@是否在字符串的首尾
//if ((string.IsNullOrEmpty(arr[0])) || (string.IsNullOrEmpty(arr[1])))
//{
// accept = false;
// return;
//}
////通过验证
//accept = true;
#endregion
#region 方法三
//int count = 0;
//foreach (char item in vldemail.ToCharArray())
//{
// if (item == '@')
// count++;
//}
//if (count != 1)
// accept = false;
//if (vldemail.IndexOf("@") == 0 || vldemail.LastIndexOf("@") == vldemail.Length - 1)
// accept = false;
#endregion
}