日期:2014-05-20  浏览次数:20782 次

求助: 控制台验证邮箱注册问题,帮忙看看
验证输入邮箱格式是否正确,注册的用户名不能为admin,很简单的一个小程序

代码如下,

  bool isSuess = true;
  Console.WriteLine("请输入要注册的用户名");
  string mail = Console.ReadLine();
  int aindex = mail.IndexOf("@");
  int bindex = mail.IndexOf(".");
   
  if(aindex==-1|| bindex==-1 || aindex>bindex)
  {

  Console.WriteLine("请输入正确的邮箱格式");
  isSuess = false;

  }
  string userName = mail.Substring(0, aindex);
  Console.WriteLine(userName);
  if (userName.ToLower().Equals("admin"))
  {

  Console.WriteLine("注册的用户名不能为admin");
  isSuess = false;
   
  }
  if (isSuess == true)
  {
  Console.WriteLine("注册成功");
   
  }

  Console.ReadLine();

问题出在,@ 上。如果不键入@,就会报错, string userName = mail.Substring(0, aindex);,报这句代码的错误 说长度不能小于0 ,帮忙看看问题出在哪里了。谢谢了,

------解决方案--------------------
用正则表达式进行格式验证吧。这种方法不好,如果我在邮件地址里输入空格或者*;?之类的字符怎么办?