快快的一天

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


}

posted @ 2019-09-05 16:02  小明哥~  阅读(211)  评论(0编辑  收藏  举报