簡體   English   中英

此電子郵件驗證表達式在Java中如何工作?

[英]How this Email Validation Expression works in Java?

我正在使用此方法來驗證Java中的電子郵件。 我想了解。 有人可以解釋此表達式排除和包括哪些內容

String expression = [A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4};

下面是完整的方法:

public static boolean isValid(String email)
{
   //String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
   String expression = "[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}";
   //String expression = "^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$";
   CharSequence inputStr = email;
   Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
   Matcher matcher = pattern.matcher(inputStr);
   if (matcher.matches()) 
   {
      return true;
   }
   else{
   return false;
   }
}

Simranjeet通常正確的。 正則表達式[AZ] +映射到一個或多個大寫字母。 您提供的正則表達式適用於所有字母(甚至小寫)的原因是Pattern.CASE_INSENSITIVE確保大寫/小寫兼容性,

  • [A-Z0-9 ._%+-] +郵件地址的第一部分可能包含所有字符,數字,點,下划線,百分比,正負。

  • @ @字符是強制性的

  • [A-Z0-9 .-] +郵件地址的第二部分可能包含所有字符,數字,點,下划線。
  • \\。 這一點是強制性的
  • [AZ] {2,4}域名可能包含所有字符。 字符數限制在2到4之間。

請參閱此鏈接“ http://www.sw-engineering-candies.com/blog-1/howtofindvalidemailaddresswitharegularexpressionregexinjava

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM