JAvaは正規表現で電子メールアドレスが合法かどうかを判断する

1321 ワード

メールアドレスの有効性をチェックするにはどうすればいいですか?
以下のこの点のプログラムはあなたの要求を満たすことができて、ほほほ
	private boolean isNameAdressFormat(String email){
	        boolean isExist = false;
	     
	        Pattern p = Pattern.compile("\\w+@(\\w+.)+[a-z]{2,3}");
	        Matcher m = p.matcher(email);
	        boolean b = m.matches();
	        if(b) {
	            System.out.println("      ");
	            isExist=true;
	        } else {
	            System.out.println("      ");
	        }
	        return isExist;
	    }

次の解析を行います.
"\\w+@(\\w+.)+[a-z]{2,3}"
正規表現でwは任意の単一文字範囲がa-z,A-Z,0-9であることを表す.javaではもともとエスケープ子であるからだ.
は、「w」と書くだけでは曖昧になり、誤りも生じるので、「w」と書く.
+は一度以上出現することを意味するので\w+は任意の長さの文字列を表すが、他の特殊文字は含まれない
,,-,$,&,*など、ほほほ、本当に完全なメールの有効性検査をしたいなら、正規表現はこれだけではありません.
长くなって、ほほほ、兴味があるのは自分で书いて见ることができます
后の私は简単だと思って、@必ず现れなければならなくて、その上一回だけ现れて、だから直接@に书いていいです
\w+.任意の文字列の後ろにDOTを付けて、みんなはこれがドメイン名の特徴であることを知っていて、それから私は書きました
(\w+.)+,なぜなら,メールサーバが2級ドメイン名,3級ドメイン名,あるいは...
()+を持たないと、[email protected]効果的[email protected]無効なので、これは
必要です.
最後に[a-z]{2,3}ですが、一般的なドメイン名では最後に数字が出ないことを考えると、大文字も珍しいと思います(一般的には
この無視は大文字と小文字)であり、cn、usなどの少なくとも2桁以上、com、orgなどの最大3桁を超えない.
などと書かれていたので、このような形になりました