Java正規表現ツール、Javaの携帯電話番号の正規表現

 

Java正規表現ツール、携帯電話番号Javaの正規表現、

最近の携帯電話のJavaの正規表現、Javaの正規表現日

 

================================

©著作権サツマイモ八尾2019年6月21日

http://fanshuyao.iteye.com/

 

java.util.regex.Matcherのインポート、
インポートjava.util.regex.Patternの; 

インポートorg.apache.commons.lang.StringUtils; 

/ ** 
 *正規表現のツール
 * 
 * / 
publicクラスRegutils { 
	/ ** 
	 *メールボックス
	 * / 
	EMAILためのパブリック静的な文字列=決勝「^ \\ W +(( - \\ + W)|。(\\ \\ W +))* @ \\ [A-ZA-Z0-9] +((\\ |。 。 - )[A-ZA-Z0-9] +)* \\ [A-ZA-Z0-9] + $ "; 
	/ ** 
	 *電話番号
	 * / 
	最終パブリック静的文字列電話=" ^(1 [3。 -9]([0-9] {9}))$ "; 
	/ ** 
	 *のみ中国語
	 * / 
	パブリック静的な文字列CHINESE =ファイナル" ^ [u4E00 \\ - \\ u9FA5 uF900 \\ - \\ uFA2D] + $ "; 
	/ ** 
	 *整数
	 * / 
	?パブリック静的文字列の整数=決勝" ^ - [1-9] \\ dは*の$「; 
	/ ** 
	 *デジタル
	 * / 
	公共の静的な文字列ファイナル= NUMBER。 "^ - \\ \\ \\ D + D * $?([+]?)"; 
	/ ** 
	 *正の整数
	 * / 
	パブリック静的文字列INTEGER_POS =ファイナル「^ [1。 -9] \\ D * $ "; 
	/ ** 
	 *フロート
	 * / 
	パブリック静的最終フロート文字列=" ^([+ - ]?)\\ \\ \\ D + D * $「; 
	/ ** 
	 *ポジティブフロート
	 * / 
	パブリック静的文字列FLOAT_POS =決勝"^ [1-9] \\ \\ D * D * | 0 \\ D * [1-9] * $ \\ D .."; 
	/ ** 
	 *含む正の整数であり、ゼロ(00、01、非デジタル)
	 * / 
	パブリック静的文字列INTEGER_WITH_ZERO_POS =ファイナル「^(([0-9])|([1-9]([0-9] +))) $「; 
	/ ** 
	 *ゼロを含む正と負の整数を含む整数である(00、01、非デジタル)
	 * / 
	パブリック静的文字列NUMBER_WITH_ZERO =ファイナル」^(?( - )(([0-9])|([1-9]([0-9] +))))$ ";
	/ ** 
	 * 是否为数字字符串
	 */
	公共の静的な文字列NUMBER_TEXT =ファイナル"^([0-9] +)$"; 
	/ ** 
	 *数(整数、0、フロート)、量が負であってもよいかどうかを決定することができる
	 * / 
	パブリック静的ファイナル文字列のNUMBER_ALL = "^(( - )(([0-9])|?。?([1-9] [0-9] +))(\\([0-9] +)))$" ; 
	/ ** 
	 * QQ、5-14ビット
	 * / 
	パブリック静的文字列QQ =ファイナル"^ [1-9] [0-9] {4,13} $"; 
	/ ** 
	 * IPアドレス
	 * / 
	パブリック静的ファイナルストリングIP =「((:(:? ?25 [0-5] | 2 [0-4] \\ D | ?? [01] \\ D \\ D)\\。){3}(:? 25 [0-5] | 2 [0-4] \\ D | [01] \\ D \\ D))?? "; 
	/ ** 
	 *郵便番号
	 * / 
	パブリック静的な文字列POST_CODEファイナル=" [1-9 ] \\ {D} 5(D \\?)「; 
	/ ** 
	 *正常日付
	 * /
	パブリック静的最終文字列DATE =「^ [1-9] \\ D {3} - ((0 [1-9])|(1 [0-2])) - ((0 [1-9])| ([1-2] [0-9])|(3 [0-1]。))$「; 
	/ ** 
	 *複雑な日付は、うるう年2月区別しません
	 *日付フォーマット:2017年10月19日
	 * 2017または/ 10月19日
	 *または2017年10月19日
	 *または2017年10月19日
	 の月の*最大31日:(((01 | 03 | 05 | 07 | 08 | 10 | 12)) - ((0 [1-9 ])|([1-2] [0-9])|(3 [0-1])))
	 *月の30日まで:(((04 | 06 | 11)) - ((0 [1- 9])|([1-2] [0-9])|(30)))
	 *月の最大29日(02 - ((0 [ 1-9])|([1-2] [0 -9])))
	 * / 
	パブリック静的文字列DATE_COMPLEX =ファイナル「^(([1-2] \\ {D} 3)( - 。| / | |年)((((01 | 03 | 05 | 07 | 08 | 10 | 12)) ( - | / | | 月)((0 [1-9]) |([1-2] [0-9])|(3 [0-1]))) |(((04 | 06 | 11))( - | / | | 月)((0 [1-9]) |([1-2] [0-9])|(30)))|( 02 - ((0 [1-9] )|([1-2] [0-9]))))( 日本))$「;?
	
	/ ** 
	 *複雑な日付は、うるう年2月は区別
	 *この閏年の日付の検証は、次の形式で、2月を区別することができます:2017年10月19日を
	 *(参照:HTTP://www.jb51.net/article/50905.htm)
	 * ^((0000)[0-9] {} 4 - ((0 [1-9] | 1 [0-?!。。 2]) - (0 [1-9 ] | 1 [0-9] | 2 [0-8])|(0 [13-9] | 1 [0-2]) - (29 | 30)|( 0 [13578] | 1 [02 ]) - 31)|([0-9] {2}(0 [48] | [2468] [048] | [13579] [26])|(0 [48] | [2468] [048] | [13579] [26])00)-02-29)$ 
	 * / 
	パブリック静的文字列DATE_COMPLEX_LEAP_YEAR決勝=「^(:( 0000)[0-9] {4} - (?!? ?:(:0 [1-9] | 1 [0-2]) - (:0 [1-9] | 1 [0-9] | 2 [0-8])|(0 [? 13-9] | 1 [0-2]) - (29 | 30)|(:?? 0 [13578] | 1 [02]) - 31)|(?:[0-9] {2}( ?:0 [48] | [ 2468] [048] | [13579] [26])|(:0 [48] | [2468] [048] | [13579] [26])00)-02-29 )$「; 
	
	
	/ ** 
	 *正規表現は、trueを返しに沿って、ご確認ください
	 * @param正規表現正規表現
	 * @param内容チェック内容
	 * @return 
	 * /  
	パブリック静的ブールIsMatch(文字列の正規表現、のCharSequenceコンテンツ){
		;返すPattern.matches(正規表現、コンテンツ)
	} 
	
	
	/ * * 
	 *チェックの電話番号 
	 * @paramモバイル
	 * @return 
	 * / 
	パブリック静的最終ブールisMoblie(文字列モバイル){ 
		ブールフラグ= FALSE。
		IF(ヌル=モバイル&& mobile.trim()に等しい( "")&& mobile.trim()の長さ()== 11!。。){ 
			パターン・パターン= Pattern.compile(PHONE)。
			マッチャーマッチャー= pattern.matcher(mobile.trim())。
			フラグ= matcher.matches()。
		} 
		フラグを返します。
	} 
	
	
	/ ** 
	 *校验邮箱
	 * @param値
	 * @return 
	 * / 
	パブリック静的最終ブールISEMAIL(文字列値){ 
		ブールフラグ= FALSE。
		(ヌル!=値&&!value.trim()。等号( ""もし
			Pattern.compileのパターンは、(EMAIL用)パターンを=; 
			Matcher matcher = pattern.matcher(value.trim());
			;フラグ= matcher.matches()において
		} 
		フラグに戻り; 
	} 
	
	
	/ ** 
	 *パスコード
	 * @paramパスワード
	 戻り真応じ* @return長、そうでない場合はfalseに
	 * / 
	パブリック静的ファイナルIsPasswordブール(文字列のパスワード){ 
		偽のフラグにブール=; 
		IF(。!= NULL && password.trimパスワード()に等しい( "")){ 
			パスワード= password.trim(); 
			IF(password.length()> = && password.length 6()<= 30){ 
				trueにリターン; 
			} 
		} 
		フラグに戻り; 
	} 
	
	
	/ ** 
	 *電話コードをチェック
	 * @param値
	 *は正規表現を満たす@returnするそれ以外の場合はfalseに、trueを返します
	 * /
	最終的な静的ブールisPhoneValidateCode公開(文字列値){ 
		ブールフラグ= falseに、
		(! "!" = NULL && value.trim値()に等しい())IF { 
			。Pattern.compileパターンのパターン=(「D ^ {\\ 8 } $ 5「);。
			;マッチャーマッチャー= Pattern.matcher(value.trim())
			旗= matcher.matchesで(); 
		} 
		フラグにリターン; 
	} 

	
	/ ** 
	 *すべて大文字かどうかを判断する
	 * @paramのSTRの
	 *の@return 
	 * / 
	パブリック静的ブールisUpperCase(文字列STR){ 
		(StringUtils.isEmpty(STR))すると{ 
			falseに戻り; 
		} 
		文字列REG = "^ [AZ] $"; 
		IsMatch(REG、STR)を返す; 
	} 
	
	
	/ ** 
	 *か否かを判断しますすべて小文字
	 * @param strの 
	 * @return 
	 * / 
	パブリック静的ブールisLowercase(文字列str){
		(StringUtils.isEmptyは(STR)){IF 
			; falseに復帰
		} 
		文字列REG = "^ [AZ] $"; 
		; IsMatch(REG、STR)を返す
	} 
	
	
	/ ** 
	 IPアドレスの場合* 
	 * @paramのSTRの
	 *の@return 
	 * / 
	静的ブールISIPパブリック(文字列STR){ 
		IF(StringUtils.isEmpty(STR)){ 
			falseに復帰; 
		} 
		(IP、STR)IsMatchを返す; 
	} 
	
	/ ** 
	 *満たすtrueを返し、30および31日のうるう年は2月を区別する(最も厳しいチェック)フォーマット2017年10月19日
	 * @param STR 
	 * @return 
	 * / 
	パブリック静的ブールISDATE(文字列STR){ 
		IF(StringUtils.isEmpty(STR)){ 
			falseに戻ります。 
		}
		IsMatchを返す(DATE_COMPLEX_LEAP_YEAR 、STR)。 
	} 
	
	
	/ ** 
	 *簡単な校正日、あまり厳しく
	 * @paramのSTR 
	 * @return 
	 * / 
	パブリック静的ブールisDateSimple(文字列STR){ 
		IF(StringUtils.isEmpty(STR)){ 
			リターンfalseに; 
		} 
		; IsMatch(DATE、STR)を返す
	} 
	
	
	/ ** 
	 * 30と31日には区別することが、うるう年2月区別しません
	 * @param STR 
	 * @return 
	 * / 
	パブリック静的ブールisDateComplex(文字列STR){ 
		IF(のStringUtils .isEmpty(STR)){ 
			falseに戻り; 
		} 
		IsMatch(DATE_COMPLEX、STR)を返す; 
	} 
	
	
	/ ** 
	 *は、0011,10101,01として、数値列か否かを判断する
	 * @param STR
	 * @return
	 */
	public static boolean isNumberText(String str){
		if(StringUtils.isEmpty(str)){
			return false;
		}
		return isMatch(NUMBER_TEXT, str);
	}
	
	
	/**
	 * 判断所有类型的数字,数字(整数、0、浮点数),可以判断是否金额,也可以是负数
	 * @param str
	 * @return
	 */
	public static boolean isNumberAll(String str){
		if(StringUtils.isEmpty(str)){
			return false;
		}
		return isMatch(NUMBER_ALL, str);
	}
	
	
	/**
	 * 是否为正整数数字,包括0(00,01非数字)
	 * @param str
	 * @return
	 */
	public static boolean isIntegerWithZeroPos(String str){
		if(StringUtils.isEmpty(str)){
			return false;
		}
		return isMatch(INTEGER_WITH_ZERO_POS, str);
	}
	
	
	/**
	 * 是否为整数,包括正、负整数,包括0(00,01非数字)
	 * @param str
	 * @return
	 */
	public static boolean isIntegerWithZero(String str){
		if(StringUtils.isEmpty(str)){
			return false;
		}
		return isMatch(NUMBER_WITH_ZERO, str);
	}
	
	
	/**
	 * 符合返回true,QQ,5-14位
	 * @param str
	 * @return
	 */
	public static boolean isQQ(String str){
		if(StringUtils.isEmpty(str)){
			return false;
		}
		return isMatch(QQ, str);
	}
	
	
	public static void main(String[] args) {
		System.out.println(isMoblie("13430800244"));
		System.out.println(isMoblie( "17730800244")); 
		System.out.println(isMoblie( "17630800244")); 
		System.out.println(isMoblie( "14730800244")); 
		System.out.println(isMoblie( "18330800244")); 
		System.out.println(isMoblie( "19330800244")); 
		System.out.println(isMoblie( "1333000244")); 
	} 
	

}

 

 

================================

©著作権サツマイモ八尾2019年6月21日

http://fanshuyao.iteye.com/

おすすめ

転載: fanshuyao.iteye.com/blog/2442032