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/