Las expresiones regulares a menudo se usan para verificar varias formas. El registro del formulario Java se usa comúnmente para las clases de herramientas de verificación de expresión regular, y las grandes colecciones de expresiones regulares se usan comúnmente.
1. Número de teléfono
2. Código postal
3. Qq
4. Correo electrónico
5. Número de teléfono móvil
6. URL
7. ¿Es un número?
8. ¿Es chino?
9. Tarjeta de identidad
10. Nombre de dominio
11. IP. . . .
¡Hay todas las verificaciones comunes! ¡De hecho, este es un buen producto para que usted participe en el desarrollo web y la verificación de formulario del lado del servidor! Te mereces ^_ ^
/ * * Copyright 2012-2013 The Haohui Network Corporation */Package com.haohui.common.utils; import java.util.regex.matcher; import java.util.regex.pattern;/** * @project baiDeM PM */public class RegexUtils {/** * Verifique el correo electrónico * @param Dirección de correo electrónico de correo electrónico, formato: [email protected], [email protected], xxx representa el proveedor de servicios de correo electrónico * @return return verdadero si es exitosa y es exitosa "//w+@//w+//.+(///.+font>+)?"; return Pattern.Matches (regex, correo electrónico); }/*** Verificar el número de la tarjeta de identificación* @param idcard El número de tarjeta de identificación del residente 15 o 18, el último dígito puede ser un número o letra* @return return real true Si la verificación es exitosa, devuelve falso si la verificación falla*/public static boolean checkidcard (string idcard) {string regex = "[1-9] // d {13,16} [a-z-z0-9-9 {1 {1}"; return Pattern.Matches (regex, idcard); } /*** Verifique el número de teléfono móvil (admite formato internacional, +86135xxxx ... (continente de China), +00852137xxxx ... (Hong Kong, China))* @param Segmentos de número móvil para dispositivos móvil (predicho que se utilizará para la tarjeta de red TD) *, 150, 151, 152, 157 (TD específico), 158, 159, 187 (no habilitado), 188 (TD específico) </p> *<p> segmento de números de China UNICOM: 130, 131, 132, 155, 156 (específico del mundo mundial), 185 (no eneablado), 186 (3g). *<p> segmento de números de Telecom: 133, 153, 180 (no habilitado), 189 </p> *@return verificación es exitosa y devuelve verdadero, y la verificación es fallida y falsa */public static boolean checkmobile (String mobile) {String regex = "(//+// d+)? 1 [34578] // d {9} $"; "; return Pattern.Matches (regex, móvil); } /*** Verifique el número de teléfono fijo* @param Número de teléfono, formato: país (región) Código de teléfono + Código de área (código de la ciudad) + número de teléfono, como: +86020855884447* <p> <b> Código de país (región): </b> Código de país estándar (región) que identifica el país (región) del número de teléfono. Contiene uno o más dígitos de 0 a 9, seguido de un código de país separado por el espacio. </p> * <p> <b> Código de área (código de la ciudad): </b> Esto puede contener uno o más números de 0 a 9, y el código de región o ciudad se coloca entre paréntesis - * para países (regiones) que no usan la región o el código de la ciudad, este componente se omite. </p> * <p> <b> Número de teléfono: </b> Esto contiene uno o más números de 0 a 9 </p> * @return return true cuando la verificación es exitosa, y devuelve falso si la verificación falla */public static boolean checkphone (string phone) {String regex = "(///+// d+)? (// d {3,4} //-? return Pattern.Matches (regex, teléfono); }/** * Verifique enteros (enteros positivos e enteros negativos) * @param dígitos enteros entre uno o más bits 0-9 Si la verificación es exitosa */public static boolean checkdigit (digit de cadena) {String regex = "//-? [1-9] // d+"; return Pattern.Matches (regex, dígito); } / ** * Verifique enteros y números de punto flotante (enteros positivos y negativos y números de punto flotante positivos y negativos) * @param decimals números de punto flotante entre uno o más bits 0-9, como: 1.23, 233.30 * @return return verdadero después de la verificación falsa después de la verificación de la falla * / público estatic boolean checkdecimals (string decimals) "//-? Zo -1-9font>//d+(//.//d+)?"; return Pattern.Ematches (regex, decimales); } /** * Verifique los caracteres Whitespace * @param Blankspace Whitespace caracteres, que incluyen: espacio, /t, /n, /r, /f, /x0b * @return return tree cuando la verificación es exitosa, devuelve falso cuando la verificación falló * /public static boolean checkblankspace (string blankspace) {string regex = "// s+"; return Pattern.Matches (regex, blankspace); }/*** Verifique chino* @param caracteres chinos chinos* @return return verdadero Cuando la verificación es exitosa, devuelve falso cuando la verificación falló*/public static boolean checkchinese (string chino) {string regex = "^[/u4e00-/u9fa5]+$"; Patrón de retorno. } / ** * Fecha de verificación (año, mes y fecha) * @param Fecha de cumpleaños, formato: 1992-09-03 o 1992.09.09.03 * @return return verdadero después de la verificación exitosa, falso después de la verificación de falla * / public Boolean Checkbirthday (birthday de cadena) {String REGEX = "[1-9] {4} ([-./]) // d {1,2} // 1 // d {1,2}"; retorno patrón.matches (regex, cumpleaños); }/*** Dirección de URL de verificación* @param URL Format: http://blog.csdn.net:80/xyang81/article/details/7705960? o http://www.csdn.net:80 * @return return verdadero después de la verificación exitosa, falsa después de la verificación de falla */public static boolean checkurl (string url) {string regex = "(https?: // (w {3} //.)?)? // w+//. // w+(//. [a-za-z]+)*(: // d {1,5})? (/// w*)*(// ?? (.+=.*)? (&.+=.*))? return Pattern.Matches (regex, URL); }/** * <pre> * Obtenga el dominio de primer nivel de la URL URL * </pRE> * * @param url * @return */public static String getDomain (String url) {Pattern P = Pattern.compile ("(? <= http: // | //.) [^. Patrón.case_insensitive); // Obtenga el nombre de dominio completo // Patrón P = Pattern.compile ("[^//]*? //. (Com | cn | net | org | biz | info | cc | tv)", patrón.case_insensitive); Matcher Matcher = p.matcher (URL); Matcher.find (); return matcher.group (); }/** * coinciden con el código postal chino * @param Código postal de postal * @return return tree después de la verificación exitosa, devuelve falso después de la verificación de falla */public static boolean checkPostcode (string postcode) {string regex = "[1-9] // d {5}"; return Pattern.Matches (Regex, PostCode); } / ** * Match Dirección IP (coincidencia simple, formato, como: 192.168.1.1, 127.0.0.1, no hay tamaño coincidente del segmento IP) * @param ipaddress ipv4 dirección estándar * @return return true, verificación exitosa, return False después de la falla de falla * / public static boolean checkipAddress (string ipaddress) {String reGEX = "[1-9] (// d {1,2})? //. (0 | ([1-9] (// d {1,2})?)) //. (0 | ([1-9] (// d { 1,2})?)) //. (0 | ([1-9] (// d {1,2})?)) // (0 | ([1-9] (// d {1,2})?)) "; return Pattern.Matches (regex, ipaddress); }} Comparta una clase de herramientas que use expresiones regulares para verificar el número de teléfono, el número de identificación, el formato de fecha, la URL, el correo electrónico y otros formatos
paquete com.eabax.util; import java.util.regex.matcher; import java.util.regex.pattern; /** * clase de herramienta de verificación * @author admin * */validación de clase pública { // --------------------------------------------------------------------------------------------------------------------------------------------------- "^([[A-Z0-9A-Z]+[-| // public static final String Correo electrónico = "//w+(//.//w+)*@/w+(//.//w+)+"; /** * Número de teléfono Regular Expression = (^(/D {2,4} [-_----]?)?/D {3,8} ([-_----]?/D {3,8})? ([-_-----]?/D {3,8})? ([-_--_--_-----]?/D {1,7})? $) | ((^0? 1 [35] Public static final String Phone = "(^(// d {2,4} [-_----]?)? // d {3,8} ([-_-----]? // d {3,8})? ([-_-----]? // d {3,8})? ([-_----]? // d {1,7}) | (^0? /** * Número de teléfono móvil expresión regular =^(13 [0-9] | 14 [0-9] | 15 [0-9] | 17 [0-9] | 18 [0-9]) // d {8} $ */public static final String mobile = "^(13 [0-9] | 14 [0-9] | 15 [0-9] | 17 [0-9] | 18 [0-9]) /***expresión regular de entero^-? (([1-9]/d*$) | 0)*/public static final String integer = "^-? (([1-9] // d*$) | 0)"; /***expresión regular de entero positivo> = 0 ^[1-9]/d*| 0 $*/public static final String Integer_Negative = " ^[1-9] // d*| 0 $"; /***Integer negativo expresión regular <= 0 ^-[1-9]/d*| 0 $*/public static final String integer_positivo = " ^-[1-9] // d*| 0 $"; /***expresión regular doble^-? ([1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0) $*/public static final string double = "^-? ([1-9] // d*//. // d*| 0 ///// d*[1-9] // d*| 0? //. 0+ | 0+"; /***expresión regular doble> = 0 ^[1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0 $*/public static final String double_negative = " ^[1-9] // d*//. // d*| 0 ///// d*[1-9] // d*| 0? // /***expresión regular doble negativa <= 0 ^(-([1-9]/d*/./D*| 0 /./ d*[1-9]/d*)) | 0?/. 0+ | 0 $*/public static final Double_positivo = "^(-([1-9] // d*//. // d*| 0 //.// d*[1-9] // d*)) | 0? //. 0+ | 0 $"; / *** Edad Expresión regular^(?: [1-9] [0-9]? | 1 [01] [0-9] | 120) $ Match 0-120 años*/ Public Static Final String Age = "^(?: [1-9] [0-9]? | 1 [01] [0-9] | 120) $"; /*** Código postal de expresión regular [0-9]/D {5} (? /** * Cadena de coincidencia compuesta de números, 26 letras en inglés o subrayadores^/W+$ */public static final String str_eng_num _ = "^// w+$"; / ** * Haga coincidir la cadena compuesta de números y 26 letras inglesas^[a-z-z0-9]+$ */ public static final string str_eng_num = "^[a-z-z0-9]+"; / ** * Haga coincidir la cadena compuesta de 26 letras inglesas^[a-za-z]+$ */ public static final string str_eng = "^[a-za-z]+$"; /*** Filtro especial cadena regular* regex = "[` ~! @#$%^&* ()+= | {} ':;', // [//]. <>/? ~! @#¥%... &* () -+| {} 【】 ';: "".,,?] "; */public static final String str_special = "[` ~! @#$%^&*()+= | {} ':;', // [//]. <>/? ~! @#¥%... &*() -+| {} 【】 ';: "".,,?] "; /*** * Fecha de soporte regular: * aaa yyyy-mm-dd * yyyy/mm/dd * yyyy_mm_dd * yyymmdd * La forma de yyyy.mm.dd */cadena final pública final 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})) ([-///// "| (^((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) $)" + "| (^(([1] [89] [0] [48]) ([-/////// "(0? 2) ([-////// ._]?) (29) $)" + "| (^(([1] [89] [2468] [048]) ([-/////// "([-////// ._]?) (29) $) | (^([1] [89] [13579] [26]) ([-/////////////1 "(^) / *** * Fecha de soporte regular: * yyyy-mm-dd */ public static final String 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 Expresión regular* coincidir http www ftp*/ public static final string 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*)*) $"; Idcard = "(((11 | 12 | 13 | 14 | 15 | 21 | 22 | 23 | 31 | 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] {3}" + "[xx0-9]) | ([0-9] {2} [0 | 1] [0-9] [0-3] [0-9] {3})); "^[A-Z0-9] {8}-[A-Z0-9] $"; //// ----------------------------------------------------------------------------------------------------------------------------------------------- no nulo y se ajusta a la ley. Devuelve el ture * @param str * @return boolean */ public static boolean strnotnull (string str) {return! Strisnull (str); } / ** * cadena nula para vaciar * @param str * @return boolean * / public static string nullToStr (string str) {return strisnull (str)? "": Str; } / *** String NULL Asignation Valor predeterminado* @Param Str Target String* @param Defaut Valor predeterminado* @return String* / public static string nullToStr (string str, string defaut) {return strisNull (str)? Dfaut: str; } / ** * Determine si el campo es correo electrónico y coincidencias Devuelve la naturaleza * @param str * @return boolean * / public static boolean isEmail (string str) {return regular (str, correo electrónico); } / ** * Determine si el número de teléfono cumple con la ley * @param str * @return boolean * / public static boolean isphone (string str) {return regular (str, teléfono); } / ** * Determine si el número de teléfono móvil coincide con el estado * @param str * @return boolean * / public static boolean isMobile (string str) {return regular (str, mobile); } / ** * Determine si es URL Compatible Devuelve la naturaleza * @param str * @return boolean * / public static boolean isurl (string str) {return regular (str, url); } / ** * Determine si el campo es un número entero positivo y negativo el número de punto flotante positivo y negativo que coincide con el estado * @param str * @return boolean * / public static boolean isnumber (string str) {return regular (str, double); } / ** * Determine si el campo es entero compatible Devuelve la naturaleza * @param str * @return boolean * / public static boolean isInteger (string str) {return regular (str, entero); } / ** * Determine si el campo es una expresión regular de entero positivo> = 0 conforma para devolver la naturaleza * @param str * @return boolean * / public static boolean isInteger_Negative (string str) {return regular (str, integer_negative); } / ** * Determine si el campo es una expresión regular de entero negativo <= 0 y devuelve la naturaleza * @param str * @return boolean * / public static boolean isinteger_positivo (string str) {return regular (str, integer_positivo); } / ** * Determine si el campo es doble y devuelve la naturaleza * @param str * @return boolean * / public static boolean isDouble (string str) {return regular (str, double); } / ** * Determine si el campo es una expresión regular de punto flotante positivo> = 0 conforma para devolver la naturaleza * @param str * @return boolean * / public static boolean isDouble_negative (string str) {return regular (str, double_negative); } / ** * Determine si el campo es una expresión regular de punto flotante negativo <= 0 conforma para devolver la naturaleza * @param str * @return boolean * / public static boolean isDouble_positivo (string str) {return regular (str, double_positivo); } / ** * Devuelve la naturaleza al determinar si el campo es compatible con fecha * @param str * @return boolean * / public static boolean isDate (string str) {return regular (str, date_all); } / ** * Verificación 2010-12-10 * @param str * @return * / public static boolean isDate1 (string str) {return regular (str, date_format1); } / ** * Devuelva la naturaleza al determinar si el campo es compatible con la edad * @param str * @return boolean * / public static boolean isage (string str) {return regular (str, edad); } /** * Compruebe si el campo es demasiado largo * Devuelve fasle si la cadena está vacía, y si excede la longitud {Leng}, devuelve la naturaleza. Return false * @param str * @param longitud * @return boolean */ public static boolean islengout (string str, int long) {return strisnull (str)? False: str.trim (). Longitud ()> longitud; } / ** * Compruebe si el campo es una tarjeta de identificación y devuelve la naturaleza * @param str * @return boolean * / public static boolean isidcard (string str) {if (str.triM (). Longitud () == 15 || str.tr.triM (). Longitud () == 18) {return regular (str, idcarard); } else {return false; }} / ** * Determine si el campo tiene un código postal que coincide con el rasgo * @param str * @return boolean * / public static boolean iscode (string str) {return regular (str, código); } / ** * Determine si las cadenas son todas las letras inglesas * @param str * @return boolean * / public static boolean isenglish (string str) {return regular (str, str_eng); } / ** * Determine si las cadenas son todas las letras en inglés + números * @param str * @return boolean * / public static boolean iseng_num (string str) {return regular (str, str_eng_num); } / ** * Determine si las cadenas son todas las letras en inglés + números + subscore * @param str * @return boolean * / public static boolean iseng_num_ (string str) {return regular (str, str_eng_num_); } / ** * Filtro de cadenas especiales Devuelve la cadena filtrada * @param str * @return boolean * / public static string filterStr (string str) {patrón p = patrón.compile (str_special); Matcher M = p.matcher (STR); return M.Replaceall (""). Trim (); } / *** Verifique el formato del código del mecanismo* @return* / public static boolean isJigoUcode (string str) {return regular (str, jigou_code); } / ** * Determine si la cadena está compuesta de números * @param str * @return boolean * / public static boolean isstr_num (string str) {return regular (str, str_num); } / *** Si la coincidencia cumple con el patrón de expresión regular, la coincidencia devuelve verdaderas* @param str String de coincidencia* @param patrón de coincidencia Patrón* @return boolean* / private static boolean regular (string str, string patrón) {if (null == str || str.tr.trim (). Longitud () <= 0) return false; Patrón p = patrón.compile (patrón); Matcher M = p.matcher (STR); return m.matches (); }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.