不能使用正则表达式,按以下需求验证一个字符串是否符合正确电子邮件格式。

2024-12-30 03:34:29
推荐回答(2个)
回答1:

private static boolean check_A_Z(String str)

 {

  for (int i = 0; i < str.length(); i++)

  {

   char c = str.charAt(i);

   if(('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z'))//确保是字母

   {}//此处为了好理解 才这样写

   else

   {

    return false;

   }

  }

  return true;

 }

 public static boolean check(String str)

 {

  int index = str.indexOf("@");

  if(index != -1)//至少包含一个@符号

  {

   String first = str.substring(0, index);

   if(!check_A_Z(first))//如果不是字母

   {

    return false;

   }

   

   String com[] = str.substring(index + 1, str.length()).split("
\\.");//
此处的.需要转义

   if(com.length <= 1 || com.length > 3)//不包含. 或者包含3个.

   {

    return false;

   }

   

   for (int i = 0; i < com.length; i++)//后面每一个.分割的 都得是字母

   {

    if(!check_A_Z(com[i]))

    {

     return false;

    }

   }

   return true;//满足全部规则 返回true 

  }

  return false;//如果没有@或者其他情况

 }

 public static void main(String[] args)

 {

  System.out.println(check("
a@dc.o.m
"));

 }

回答2:

为了验证该电子邮件地址是有效的,该方法调用 Regex.IsMatch(String, String) 方法来验证此地址符合正则表达式模式。可以使用 IsValidEmail,在应用程序将地址存储在数据库中或显示在 ASP.NET 页中之前,筛选出包含无效字符的电子邮件地址。
请注意,IsValidEmail 方法不执行身份验证来验证电子邮件地址。
它只确定其格式对于电子邮件地址是否有效。C#VBImports System.Text.RegularExpressions Module RegexUtilities Function IsValidEmail(ByVal strIn AsString) AsBoolean' Return true if strIn is in valid e-mail format.Return Regex.IsMatch(strIn。