Des expressions régulières sont souvent utilisées pour vérifier diverses formes. L'enregistrement du formulaire Java est couramment utilisé pour les classes d'outils de vérification d'expression régulière, et de grandes collections d'expressions régulières sont couramment utilisées.
1. numéro de téléphone
2. Code postal
3. QQ
4. E-mail
5. Numéro de téléphone mobile
6. URL
7. Est-ce un nombre
8. Est-ce chinois?
9. Carte d'identité
10. Nom de domaine
11. IP. . . .
Il y a toutes les vérifications courantes! Il s'agit en effet d'un bon produit pour vous engager dans le développement Web et la vérification du formulaire côté serveur! Tu mérites ^ _ ^
/ * * Copyright 2012-2013 The HaoHui Network Corporation * / package com.haohui.common.utils; import java.util.regex.matcher; import java.util.regex.pattern; / ** * @project baidamei * @author cevencheng <cevencheng@gmte PM * / classe publique Regexutils {/ ** * Vérifiez le courriel * @param Adresse e-mail par e-mail, format: [email protected], [email protected], xxx représente le fournisseur de services de messagerie * @return return si la vérification est réussie, et retourne false si la vérification échoue * / public static boolean wechailmailmail (String e-mail) {chaîne regex = "//w+//w+//.[AZ VORD++(//. RETOUR Pattern.matches (regex, e-mail); } / ** * Vérifiez le numéro de carte d'identité * @param idcard résident ID Numéro 15 ou 18, le dernier chiffre peut être un numéro ou une lettre * @return return true si la vérification est réussie, renvoie false si la vérification échoue * / public static booléen CheckidCard (String idcard) {String Regex = "[1-9] // D {13,16} [A-ZA-Z0-9] {1};; Retour Pattern.matches (regex, idcard); } / ** * Vérifiez le numéro de téléphone mobile (prend en charge le format international, + 86135xxxx ... (continentale de Chine), + 00852137xxxx ... (Hong Kong, Chine)) * @param numéro de numéro de mobile pour les segments mobiles, China Uniom et Telecom * <P> Numéro mobile: 134 (0-8), 135, 136, 137, 138, 139, 147 (0-8) (prévu pour être utilisé pour la carte réseau TD) *, 150, 151, 152, 157 (spécifique au TD), 158, 159, 187 (non activé), 188 (spécifique au TD) </p> * <p> China Unicom's Number Segment: 130, 131, 132, 155, 156 (World-Wind), 185 (non permis), 186 (3G) * <p> Segment Number de Telecom: 133, 153, 180 (non activé), 189 </p> * @return La vérification est réussie et renvoie true, et la vérification est échouée et fausse * / public static booléen CheckMobile (String Mobile) {String regex = "(// + // d +)? 1 [34578] // d {9} $"; Retour Pattern.matches (regex, mobile); } / ** * Vérifiez le numéro de téléphone fixe * @param numéro de téléphone, format: pays (région) code téléphonique + code régional (code municipal) + numéro de téléphone, tel que: +8602085588847 * <p> <b> Code de téléphone (région): </b> Country standard (région) qui identifie le pays (région) du numéro de téléphone. Il contient un ou plusieurs chiffres de 0 à 9, suivi d'un code de pays séparé de l'espace. </p> * <p> <b> Code régional (code de la ville): </b> Cela peut contenir un ou plusieurs nombres de 0 à 9, et la région ou le code de la ville est placé entre parenthèses - * pour les pays (régions) qui n'utilisent pas la région ou le code de la ville, ce composant est omis. </p> * <p> <b> Numéro de téléphone: </b> Ceci contient un ou plusieurs nombres de 0 à 9 </p> * @return Retour True lorsque la vérification est réussie, et renvoie Faux si la vérification échoue * / Public Static Boolean Checkphone (Téléphone String) {String Regex = "(// + // d +)? (// $ {3,4} // -?)? Retour Pattern.matches (regex, téléphone); } / ** * Vérification des entiers (entiers positifs et entiers négatifs) * @param entières de chiffres entre un ou plusieurs bits 0-9 Si la vérification est réussie * / public static booléen CheckDigit (Digit de chaîne) {String regex = "// -? [1-9] // d +"; Retour Pattern.matches (regex, chiffre); } / ** * Vérifiez les entiers et les nombres à virgule flottante (entiers positifs et négatifs et nombres positifs et négatifs à virgule flottante) * @param décimaux Nombres à point flottant entre un ou plusieurs bits 0-9, tels que: 1.23, 233.30 * @return Renvoie True après vérification, false après la vérification de l'échec * / public STATIC BOOLEANDECIMALS (STRAC "//-?@1-9 diplômé//d+(// Retour Pattern.matches (regex, décimales); } / ** * Vérifiez les caractères d'espace blanc * @Param Blankspace Whitespace Caractères, y compris: espace, / t, / n, / r, / f, / x0b * @return return true lorsque la vérification est réussie, et renvoie false lorsque la vérification échoue * / public static boolean calkblankspace; RETOUR Pattern.matches (regex, Blankspace); } / ** * Vérifiez chinois * @param Chinese Chinese Characles * @return Retour Retour lorsque la vérification est réussie, et renvoie faux lorsque la vérification échoue * / public static booléen Checkchinese (String Chinese) {String regex = "^ [/ u4e00- / u9fa5] + $"; Retour Pattern.matches (regex, chinois); } / ** * Date de vérification (année, mois et date) * Date d'anniversaire @param, format: 1992-09-03, ou 1992.09.03 * @return Retour True après vérification réussie, false après la vérification de l'échec * / public static boolean Checkbirthday (anniversaire de chaîne) {String Regex = "[1-9] {4} ([-. /]) // d {1,2} // 1 // d {1,2}"; Retour Pattern.matches (regex, anniversaire); } / ** * Adresse URL de vérification * Format URL @param: http://blog.csdn.net:80/xyang81/article/details/7705960? ou http://www.csdn.net:80 * @return return true après une vérification réussie, false après la vérification de l'échec * / public static booléen checkurl (URL de chaîne) {String regex = "(https?: // (w {3} //.)?)? // w + //. // w + (//. [a-za-z] +) * (:: // d {1,5})? (/// w *) * (// ?? (. + =. *)? (&. +. *)?)?"; Retour Pattern.matches (regex, URL); } / ** * <pre> * Obtenez le domaine de premier niveau de l'URL URL * </ Pre> * * @param url * @return * / public static static getDomain (Url de chaîne) {Pattern p = motive.comPile ("(? <= http: // | //.) [^. Pattern.case_insensitive); // obtient le nom de domaine complet // motif p = motive.compile ("[^ //] *? //. (Com | cn | net | org | biz | info | cc | tv)", pattern.case_insensitive); Matcher Matcher = P.Matcher (URL); Matcher.Find (); return Matcher.group (); } / ** * Faire correspondre le code postal chinois * @param code postal du code postal * @return return true après une vérification réussie, return false après l'échec vérification * / public static boolean checkPostcode (String postcode post) {String regex = "[1-9] // d {5}"; return moatch.matches (regex, code postal); } / ** * correspondant à l'adresse IP (correspondance simple, format, tel que: 192.168.1.1, 127.0.0.1, aucune taille correspondante du segment IP) * @param iPaddress IPv4 Adresse standard * @return return true après une vérification réussie, return false après la vérification de l'échec * / public static boolean damis "[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 moatch.matches (regex, ipaddress); }} Partagez une classe d'outils qui utilise des expressions régulières pour vérifier le numéro de téléphone, le numéro d'identification, le format de date, l'URL, les e-mails et autres formats
package com.eabax.util; import java.util.regex.matcher; import java.util.regex.pattern; / ** * Classe d'outils de vérification * @author admin * * / public class validation { // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- "^ ([A-Z0-9A-Z] + [- | //.]?) + [A-Z0-9A-Z] @ ([A-Z0-9A-Z] + (- [A-Z0-9A-Z] +)? //.) + [A-ZA-Z] {2,} $" ;; public static final String email = "//w+(//./w+)*//w+(////w+)+"; / ** * Numéro de téléphone Expression régulière = (^ (/ d {2,4} [-_----]?)? / D {3,8} ([-_----]? / D {3,8})? ([-_----]? / D {3,8})? ([-_----]? / D {1,7})? $) | (^ 0? 1 [35] Téléphone de chaîne finale statique publique = "(^ (// d {2,4} [-_----]?)? // d {3,8} ([-_-----]? // d {3,8})? ([-_-----]? // d {3,8})? ([-_-----]? // d {1,7})? $) | (^ 0? / ** * Numéro de téléphone mobile Expression régulière = ^ (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]) // D {8} $"; / ** * Expression régulière entière ^ -? (([1-9] / d * $) | 0) * / public static final String Integer = "^ -? (([1-9] // d * $) | 0)"; / ** * Expression régulière entière positive> = 0 ^ [1-9] / d * | 0 $ * / public static final String Integer_negative = "^ [1-9] // d * | 0 $"; / ** * Expression régulière entière négative <= 0 ^ - [1-9] / d * | 0 $ * / public static final String Integer_positive = "^ - [1-9] // d * | 0 $"; / ** * Double Expression régulière ^ -? ([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). / ** * Double expression régulière> = 0 ^ [1-9] / d * /. / D * | 0 /./ d * [1-9] / d * | 0? /. 0+ | 0 $ * / public static final Double_Negative = "^ [1-9] // d * //. // d * | 0 //.// * [1-9] // d * | 0? //. 0+ | 0 $"; / ** * Expression négative Double régulière <= 0 ^ (- ([1-9] / d * /. / D * | 0 /./ d * [1-9] / d *)) | 0? /. 0+ | 0 $ * / public static final String double_positive = "^ (- ([1-9] // d * //. // d * | 0 //.// d * [1-9] // d *)) | 0? //. 0+ | 0 $"; / ** * Expression régulière de l'âge ^ (?: [1-9] [0-9]? | 1 [01] [0-9] | 120) $ Match 0-120 ans * / public statique final String Age = "^ (?: [1-9] [0-9]? | 1 [01] [0-9] | 120) $"; / ** * Code postal Expression régulière [0-9] / D {5} (?! / D) Code postal domestique à 6 chiffres * / Code de chaîne finale statique publique = "[0-9] // d {5} (?! // d)"; / ** * correspond à la chaîne composée de nombres, 26 lettres ou soulignements anglais ^ / w + $ * / public statique final statique str_eng_num _ = "^ // w + $"; / ** * Faites correspondre la chaîne composée de nombres et 26 lettres anglaises ^ [a-za-z0-9] + $ * / public statique final statique str_eng_num = "^ [a-za-z0-9] +"; / ** * Faites correspondre la chaîne composée de 26 lettres anglaises ^ [a-za-z] + $ * / public statique final statique str_eng = "^ [a-za-z] + $"; / ** * Filter String spécial régulier * regex = "[` ~! @ # $% ^ & * () + = | {} ':;', // //]. <> /? ~! @ # ¥%… & * () ‐ + | {} 【】 ';: ""'.,,?] "; * / public static final String str_special = "[` ~! @ # $% ^ & * () + = | {} ':;', // [//]. <> /? ~! @ # ¥%… & * () - + | {} 【】 ';: ""'.,?] "; / *** * Date Support régulier: * yyyy-mm-dd * yyyy / mm / dd * yyy_mm_dd * yyymmdd * la forme de yyyy.mm.dd * / public statique final statique final statique DATE_ALL = "((^ (1 [8-9] // d {2}) | ([2-9] // d {3})) ([- ///// .__]?) (10 | 12 | 0? [13578]) ([- ////// ._]?) (3 [01] | [12] [0-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) $)" + "| (^ ([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) $))"; / *** * Date Support régulier: * Yyyy-mm-dd * / chaîne finale statique publique 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 [0 [ 48] | [2468] [048] | [13579] [26]) | ((0 [48] | [2468] [048] | [3579] [26]) 00)) - 02-29) "; / ** * URL Expression régulière * Match http www ftp * / public static final String url = "^ (http | www | ftp |)? (: //)? (// w + (- // w +) *) (//. (// w + (- // w +) *)) * ((: // d +)?) (/ (// w + (- // w +) *) * (//.? (//) *) (//?) (//?)?" + "((((//w*%)* (//w*//?)* (//w* :)* (//w*/+)* frau "(//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] $";; //// ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Non-nul et se conforme à la loi. Renvoie la Ture * @param str * @return boolean * / public static boolean strnotnull (String str) {return! Strisnull (str); } / ** * String null to vide * @param str * @return boolean * / public static String nullToStr (String str) {return strisnull (str)? "": Str; } / ** * String Null Assignment Valeur par défaut * @param Str Target String * @param Defaut Valeur par défaut * @return String * / public static String nullToStr (String str, string defaut) {return strisnull (str)? Defaut: str; } / ** * Déterminez si le champ est e-mail et les correspondances renvoient la nature * @param str * @return boolean * / public static boolean isemail (String str) {return régulial (str, e-mail); } / ** * Déterminez si le numéro de téléphone répond à la loi * @param str * @return boolean * / public static boolean isphone (String str) {return régulial (str, téléphone); } / ** * Déterminez si le numéro de téléphone mobile correspond au statut * @param str * @return boolean * / public static boolean ismobile (String str) {return régulial (str, mobile); } / ** * Déterminez s'il est compatible URL Retour la nature * @param str * @return boolean * / public static boolean isurl (String str) {return régulial (str, url); } / ** * Déterminez si le champ est un nombre de numéros de point flottants positifs et négatifs positifs et négatifs correspond au statut * @param str * @return boolean * / public static boolean isNumber (String str) {return régulial (str, double); } / ** * Déterminez si le champ est compatible entier renvoie la nature * @param str * @return boolean * / public static boolean isInteger (String str) {return régulial (str, entier); } / ** * Déterminez si le champ est une expression régulière entière positive> = 0 Conforme pour retourner la nature * @param str * @return boolean * / public static boolean isInteger_negative (String str) {return régulial (str, Integer_negative); } / ** * Déterminez si le champ est une expression régulière entière négative <= 0 et renvoie la nature * @param str * @return boolean * / public static boolean isInteger_positive (string str) {return régulial (str, integer_positive); } / ** * Déterminez si le champ est double et renvoie la nature * @param str * @return boolean * / public static boolean isdouble (string str) {return régulial (str, double); } / ** * Déterminez si le champ est une expression régulière de point flottant positif> = 0 Conforme pour retourner la nature * @param str * @return boolean * / public static boolean isdouble_negative (String str) {return régulial (str, double_negative); } / ** * Déterminez si le champ est une expression régulière de point flottante négative <= 0 Conforme pour retourner la nature * @param str * @return boolean * / public static boolean isdouble_positive (string str) {return régulial (str, double_positive); } / ** * Renvoyez la nature lors de la détermination si le champ est compatible * @param str * @return boolean * / public static boolean isdate (string str) {return régulial (str, date_all); } / ** * Vérification 2010-12-10 * @param str * @return * / public static boolean isdate1 (String str) {return régulial (str, date_format1); } / ** * Renvoyez la nature lors de la détermination si le champ est compatible avec l'âge * @param str * @return boolean * / public static boolean isage (String str) {return régulial (str, age); } / ** * Vérifiez si le champ est trop long * Retour Fasle si la chaîne est vide, et si elle dépasse la longueur {Leng}, elle renvoie la nature à la place. Return false * @param str * @param longueur * @return boolean * / public static boolean islengout (string str, int longueur) {return strisnull (str)? False: str.trim (). Length ()> length; } / ** * Vérifiez si le champ est une carte d'identité et renvoie la nature * @param str * @return boolean * / public static boolean iSidcard (String str) {if (str.trim (). Length () == 15 || str.trim (). Length () == 18) {retour régulièrement (str, idcard); } else {return false; }} / ** * Déterminez si le champ a un code postal qui correspond au trait * @param str * @return boolean * / public static boolean iscode (string str) {return régulial (str, code); } / ** * Déterminez si les chaînes sont toutes des lettres anglaises * @param str * @return boolean * / public static boolean isenglish (String str) {return régulial (str, str_eng); } / ** * Déterminez si les chaînes sont toutes des lettres anglaises + nombres * @param str * @return boolean * / public static boolean iseng_num (String str) {return régulier (str, str_eng_num); } / ** * Déterminez si les chaînes sont toutes des lettres anglaises + nombres + sous-traitant * @param str * @return boolean * / public static boolean iseng_num_ (string str) {return régulial (str, str_eng_num_); } / ** * chaînes spéciales du filtre Renvoie la chaîne filtrée * @param str * @return boolean * / public static string filterstr (string str) {pattern p = motive.compile (str_special); Matcher m = p.matcher (str); retour m.replaceALL (""). Trim (); } / ** * Vérifiez le format de code de mécanisme * @return * / public static boolean isJigouCode (String str) {return régulial (str, jigou_code); } / ** * Déterminez si la chaîne est composée de nombres * @param str * @return boolean * / public static boolean isstr_num (string str) {return régulial (str, str_num); } / ** * Si le match rencontre le modèle d'expression régulière Renvoie True * @param Str String * @Param Pattern Match Match * @return boolean * / private static boolean régulier (String Str, String Pattern) {if (null == Str || str.trim (). Length () <= 0) return false; Motif p = motif.compile (motif); Matcher m = p.matcher (str); retour m.matches (); }}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.