정규 표현식을 사용하여 전화 번호, ID 번호, 날짜 형식, URL, 이메일 및 기타 형식을 확인하는 도구 클래스 공유
코드 사본은 다음과 같습니다.
패키지 com.eabax.util;
import java.util.regex.matcher;
java.util.regex.pattern import;
/**
* 검증 도구 클래스
* @Author 관리자
*
*/
공개 수업 검증 {
// ---------------------------------------------------- --------------------------------------------------------- -------------------------------
/**
* 이메일 정규식 = "^([a-z0-9a-z]+[-| //]?)+[a-z0-9a-z]@([a-z0-9a-z]+( -[a-z0-9a-z]+)? //.)+[a-za-z] {2,} $ ";
*/
// 공개 정적 최종 문자열 이메일 = "^([a-Z0-9A-Z]+[-| //]?)+[a-Z0-9A-Z]@([a-Z0-9A-Z ]+(-[a-z0-9a-z]+)? //.)+[a-za-z] {2,} $ ";;
공개 정적 최종 문자열 이메일 = "//w+(//./w+)*@/wfle(//./w+);
/**
* 전화 번호 정규 표현 = (^(/d {2,4} [-_--]?)?)?/d {3,8} ([-_---]?/d {3, 8})? ([-_--]?/d {1,7})? $) | (^0? 1 [35]/d {9} $)
*/
공개 정적 최종 문자열 phone = "(^(// d {2,4} [-_--]?)? // d {3,8} ([-_---]? // d {3,8})? ([-_--]? // d {1,7})? $) | (^0? 1 [35] // d {9} $) ";
/**
* 휴대 전화 번호 정규 표현 =^(13 [0-9] | 15 [0-9] | 18 [0-9])/d {8} $
*/
public static final string mobile = "^(13 [0-9] | 15 [0-9] | 18 [0-9]) // d {8} $";
/**
* 정수 정규 표현 ^-? (([1-9]/d* $) | 0)
*/
공개 정적 최종 문자열 정수 = "^-? (([[1-9] // d*$) | 0)";
/**
* 양의 정수 정규 표현> = 0 ^[1-9]/d* | 0 $
*/
공개 정적 최종 문자열 integer_negative = "^[1-9] // d*| 0 $";
/**
* 네거티브 정수 정규 표현식 <= 0 ^-[1-9]/d* | 0 $
*/
공개 정적 최종 문자열 integer_positive = "^-[1-9] // d*| 0 $";
/**
*이중 정규 표현식 ^-?
*/
공개 정적 최종 문자열 double = "^-? .0+ | 0) $ ";
/**
*이중 정규식> = 0 ^[1-9]/d*/./d*| 0/./ d*[1-9]/d*| 0?/. 0+ | 0 $
*/
공개 정적 최종 문자열 double_negative = "^[1-9] // d*//. // d*| 0 //./ d*[1-9] // d*| 0? //. 0+ | 0 $ ";
/**
*음의 이중 정규식 <= 0 ^(-([1-9]/d*/./d*| 0/./ d*[1-9]/d*)) | 0?/. 0+ | 0 $
*/
공개 정적 최종 문자열 double_positive = "^(-([1-9] // d*//. // d*| 0 //./ d*[1-9] // d*)) | 0? //.0+|0$ ";
/**
* 연령 정규 표현^(? : [1-9] [0-9]? | 1 [01] [0-9] | 120) $ 0-120 세
*/
공개 정적 최종 문자열 age = "^(? : [1-9] [0-9]? | 1 [01] [0-9] | 120) $";
/**
* 우편 번호 정규 표현 [0-9]/d {5} (?!/d) 국내 6 자리 우편 번호
*/
공개 정적 최종 문자열 코드 = "[0-9] // d {5} (?! // d)";
/**
* 숫자, 26 개의 영어 문자 또는 밑줄로 구성된 문자열 일치 ^/w+$
*/
공개 정적 최종 문자열 str_eng_num _ = "^// w+$";
/**
* 숫자와 26 개의 영어 문자로 구성된 문자열과 일치
*/
공개 정적 최종 문자열 str_eng_num = "^[a-za-z0-9]+";
/**
* 26 개의 영어 문자^[a-za-z]+$로 구성된 문자열과 일치합니다
*/
공개 정적 최종 문자열 str_eng = "^[a-za-z]+$";
/**
* 특수 문자열 규칙을 필터합니다
*regex = "[`~!@#$%^&*()+= | {} ':;', // [//]. +| {} { '; : "'.,?]";
*/
공개 정적 최종 문자열 str_special = "[`~!@##$%^& *()+= | {} ':;', // [//]. () -+| {} 【】 '; : "";
/***
* 날짜 정기 지원 :
* yyyy-mm-dd
* yyyy/mm/dd
* yyyy_mm_dd
* yyyymmdd
* yyyy.mm.dd의 형태
*/
공개 정적 최종 문자열 date_all = "(^((1 [8-9] // d {2}) | ([2-9] // d {3})) ([-///// ._) ]?) (10 | 12 | 0? [13578]) ([-///// ._]?) (3 [01] | [12] [0-9] | 0? [1-9] ) $) " +
"| (^((1 [8-9] // d {2}) | ([2-9] // d {3})) ([-//// ._]?) (11 | 0? [469]) ([-//// ._]?) (30 | [12] [0-9] | 0? [1-9]) $) " +
"| (^((1 [8-9] // d {2}) | ([2-9] // d {3})) ([-//// ._]?) (0? 2) ([-//// ._]?) (2 [0-8] | 1 [0-9] | 0? [1-9]) $) | (^([2468] [048] 00) ([-///// ._]?) (0? 2) ([-///// ._]?) (29) $) | (^([3579] [26] 00) " +
"([-//// ._]?) (0? 2) ([-///// ._]?) (29) $)" +
"| (^([1] [89] [0] [48]) ([-///// ._]?) (0? 2) ([-///// ._]? ) (29) $) | (^([2-9] [0-9] [0] [48]) ([-//// ._]?) " +
"(0? 2) ([-//// ._]?) (29) $)" +
"| (^([1] [89] [2468] [048]) ([-///// ._]?) (0? 2) ([-///// ._]? ) (29) $) | (^([2-9] [0-9] [2468] [048]) ([-//// ._]?) (0? 2) " +
"([-//// ._]?) (29) $) | (^([1] [89] [13579] [26]) ([-///// ._]?) (0? 2) ([-//// ._]?) (29) $) | " +
"(^([2-9] [0-9] [13579] [26]) ([-//// ._]?) (0? 2) ([-///// ._. ]?) (29) $) ";
/***
* 날짜 정기 지원 :
* yyyy-mm-dd
*/
공개 정적 최종 문자열 date_format1 = "(([0-9] {3} [1-9] | [0-9] {2} [1-9] [0-9] {1} | [0-9] {1} [1-9] [0-9] {2} | [1-9] [0-9] {3})-(((0 [13578] | 1 [02])-(0 [1- 9] | [12] [0-9] | 3 [01])) | ((0 [469] | 11)-(0 [1-9] | [12] [0-9] | 30) | (02- (0 [1-9] | [1] [0-9] | 2 [0-8])))) | ((([0-9] {2}) (0 [48] | 2468] [048] | [13579] [26]) | ((0 [48] | [2468] [048] | [3579] [26]) 00)-02-29) ";
/**
* URL 정규 표현식
* 일치 HTTP www ftp
*/
공개 정적 최종 문자열 url = "^(http | www | ftp |)? (: //)? (// w+(-// w+)*) (//. (// w+(-// w+)* ))*((: // d+)?) (/(// w+(-// w+)*))*(//.? (// w)*) (//?) (//?) ? " +
"(((//w*%)*)*)*)* (//w* :)* (//w* :)*(//w*/ /+)* (/w*//.)* (// w*&)*(// w*-)*(// w*=)*(// w*%)*(// w*//?)*" +
"(//w* :)*(//w*//+)*(//w*//.)" +
"(// w*&)*(// w*-)*(// w*=)*)*(// w*)*) $";
/**
* ID 카드 정규 표현
*/
공개 정적 최종 문자열 idcard = "((11 | 12 | 13 | 14 | 15 | 21 | 22 | 23 | 32 | 33 | 34 | 35 | 36 | 37 | 41 | 42 | 43 | 44 | 45 | 46 | 50 | 51 | 52 | 53 | 54 | 61 | 62 | 63 | 64 | 65) [0-9] {4}) " +
"([[1 | 2] [0-9] {3} [0 | 1] [0-9] [0-3] [0-9] [0-9] {3}" +
"[xx0-9]) | ([0-9] {2} [0 | 1] [0-9] [0-3] [0-9] [0-9] {3}))";
/**
* 제도 코드
*/
공개 정적 최종 문자열 jigou_code = "^[a-z0-9] {8}-[a-z0-9] $";
/**
* 문자열과 일치 ^[0-9]+$
*/
공개 정적 최종 문자열 str_num = "^[0-9]+$";
//// --------------------------------------------------- --------------------------------------------------------- -------------------------------
/**
* 필드가 비어 있고 반환 ture와 일치하는지 결정
* @param str
* @return 부울
*/
공개 정적 동기화 된 부울 strisnull (String str) {
return null == str.trim (). length () <= 0?
}
/**
* 필드가 비어 있지 않으면 ture를 반환하십시오
* @param str
* @return 부울
*/
공개 정적 부울 strnotnull (String str) {
반환! strisnull (str);
}
/**
* 문자열 null에서 비어 있습니다
* @param str
* @return 부울
*/
public static string nulltostr (String str) {
return strisnull (str)? "": str;
}
/**
* 문자열 null 할당 기본값
* @param str 대상 문자열
* @param defaut 기본값
* @return 문자열
*/
public static string nulltostr (String str, String defaut) {
return strisnull (str)? defaut : str;
}
/**
* 필드가 이메일인지 확인하고 Ture를 반환합니다.
* @param str
* @return 부울
*/
Public Static Boolean iseMail (String Str) {
정규 반환 (str, 이메일);
}
/**
* 전화 번호가 반품을 충족하는지 확인
* @param str
* @return 부울
*/
Public STATIC BOOLEAN ISPHONE (String Str) {
정규 반환 (str, phone);
}
/**
* 휴대 전화 번호가 상태를 충족하는지 확인
* @param str
* @return 부울
*/
공개 정적 부울 ismobile (String str) {
정규 반환 (str, mobile);
}
/**
* 그것이 URL인지 확인하고 ture를 반환합니다.
* @param str
* @return 부울
*/
공개 정적 부울 ISURL (String Str) {
반품 규칙 (str, url);
}
/**
* 필드가 숫자, 양수 및 부정적인 정수, 양수 및 부정적인 부동 소수점 번호인지 결정하십시오.
* @param str
* @return 부울
*/
공개 정적 부울 isnumber (String str) {
정규 반환 (str, double);
}
/**
* 필드가 정수인지 결정하고 ture를 반환합니다.
* @param str
* @return 부울
*/
공개 정적 부울 isinteger (String str) {
정규 반환 (str, 정수);
}
/**
* 필드가 긍정적 인 정수 정규 표현 여부를 결정하고 반환 ture와 일치합니다.
* @param str
* @return 부울
*/
공개 정적 부울 ISINTEGER_NEGATIVE (String Str) {
정기적으로 반환 (str, integer_negative);
}
/**
* 필드가 네거티브 정수 정수 정규식 <= 0인지 결정하고 반환 ture와 일치합니다.
* @param str
* @return 부울
*/
공개 정적 부울 isinteger_positive (String str) {
정규 반환 (str, integer_positive);
}
/**
* 필드가 이중인지 여부를 결정하고 ture를 반환합니다.
* @param str
* @return 부울
*/
Public Static Boolean isdouble (String str) {
정규 반환 (str, double);
}
/**
* 필드가 양의 부동물 지점 번호 정규 표현 여부를 판단하십시오.
* @param str
* @return 부울
*/
공개 정적 부울 isdouble_negative (String str) {
정기적 인 반환 (str, double_negative);
}
/**
* 필드가 음의 부동물 지점 번호 정규식 <= 0인지 결정하고 반환 ture와 일치합니다.
* @param str
* @return 부울
*/
공개 정적 부울 isdouble_positive (String str) {
정규 반환 (str, double_positive);
}
/**
* 필드의 날짜 여부를 결정하고 ture를 반환합니다.
* @param str
* @return 부울
*/
공개 정적 부울 isdate (String str) {
Recent Regular (str, date_all);
}
/**
* 검증 2010-12-10
* @param str
* @반품
*/
공개 정적 부울 isdate1 (String str) {
정기적 인 반환 (str, date_format1);
}
/**
* 필드가 연령을 준수하는 경우 Ture로 돌아갑니다.
* @param str
* @return 부울
*/
공개 정적 부울 isage (String str) {
정기적 인 반환 (str, age);
}
/**
* 필드가 너무 길지 여부를 결정하십시오
* 문자열이 비어 있으면 fasle을 반환하고 길이 {leng}을 초과하면 ture를 반환하고 false를 반환하면 거부됩니다.
* @param str
* @param leng
* @return 부울
*/
공개 정적 부울 islengout (String str, int length) {
return strisnull (str)? false : str.trim (). length ()> 길이;
}
/**
* 필드가 ID 카드인지 확인하고 Ture를 반환합니다.
* @param str
* @return 부울
*/
공개 정적 부울 ISIDCARD (String Str) {
if (strisnull (str)) false를 반환합니다.
if (str.trim (). length () == 15 || str.trim (). length () == 18) {
정규 반환 (str, idcard);
}또 다른 {
거짓을 반환합니다.
}
}
/**
* 필드에 리턴 ture와 일치하는 우편 번호가 있는지 확인
* @param str
* @return 부울
*/
공개 정적 부울 iscode (String str) {
정규 반환 (str, code);
}
/**
* 모든 문자열이 영어 문자인지 확인하십시오
* @param str
* @return 부울
*/
공개 정적 부울 isenglish (String str) {
정기적 인 반환 (str, str_eng);
}
/**
* 모든 문자열이 영어 문자 + 숫자인지 결정
* @param str
* @return 부울
*/
공개 정적 부울 iseng_num (String str) {
정기적 인 반환 (str, str_eng_num);
}
/**
* 모든 문자열이 영어 문자인지 + 번호 + 밑줄인지 결정
* @param str
* @return 부울
*/
public static boolean iseng_num_ (String str) {
정기적으로 반환 (str, str_eng_num_);
}
/**
* 필터 특수 문자열 반환 필터링 스트링
* @param str
* @return 부울
*/
public static string filterstr (String str) {
패턴 p = pattern.compile (str_special);
매치 자 m = p.matcher (str);
M.Replaceall ( ""). trim ();
}
/**
* 메커니즘의 코드 형식을 확인하십시오
* @반품
*/
공개 정적 부울 isjigoucode (String str) {
정기적으로 반환 (str, jigou_code);
}
/**
* 문자열이 숫자로 구성되어 있는지 확인하십시오
* @param str
* @return 부울
*/
public static boolean isstr_num (String str) {
정규 반환 (str, str_num);
}
/**
* 일치가 정규 표현 패턴을 준수하는지 여부
* @param str 매칭 문자열
* @param 패턴 매칭 패턴
* @return 부울
*/
개인 정적 부울 일반 (문자열 str, 문자열 패턴) {
if (null == str.trim (). length () <= 0)
거짓을 반환합니다.
Pattern P = Pattern.compile (Pattern);
매치 자 m = p.matcher (str);
return m.matches ();
}
}
위의 것은이 기사에 관한 모든 것입니다. 나는 당신이 그것을 좋아하기를 바랍니다.