本文實例為大家分享了java正則表達式工具類的具體代碼,供大家參考,具體內容如下
import com.google.common.base.Strings;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 常用的正則表達式* Created by tookbra on 2016/4/7. */public class RegexUtils { /** * 判斷是否是正確的IP地址* * @param ip * @return boolean true,通過,false,沒通過*/ public static boolean isIp(String ip) { if (Strings.isNullOrEmpty(ip)) return false; String regex = "^(1//d{2}|2[0-4]//d|25[0-5]|[1-9]//d|[1-9])//." + "(1//d{2}|2[0-4]//d|25[0-5]|[1-9]//d|//d)//." + "(1//d{2}|2[0-4]//d|25[0-5]|[1-9]//d|//d)//." + "(1//d{2}|2[0-4]//d|25[0-5]|[1-9]//d|//d)$"; return ip.matches(regex); } /** * 判斷是否是正確的郵箱地址* * @param email * @return boolean true,通過,false,沒通過*/ public static boolean isEmail(String email) { if (Strings.isNullOrEmpty(email)) return false; String regex = "//w+([-+.]//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*"; return email.matches(regex); } /** * 判斷是否含有中文,僅適合中國漢字,不包括標點* @param text * @return boolean true,通過,false,沒通過*/ public static boolean isChinese(String text) { if (Strings.isNullOrEmpty(text)) return false; Pattern p = Pattern.compile("[/u4e00-/u9fa5]"); Matcher m = p.matcher(text); return m.find(); } /** * 判斷是否正整數* * @param number * 數字* @return boolean true,通過,false,沒通過*/ public static boolean isNumber(String number) { if (Strings.isNullOrEmpty(number)) return false; String regex = "[0-9]*"; return number.matches(regex); } /** * 判斷幾位小數(正數) * * @param decimal * 數字* @param count * 小數位數* @return boolean true,通過,false,沒通過*/ public static boolean isDecimal(String decimal, int count) { if (Strings.isNullOrEmpty(decimal)) return false; String regex = "^(-)?(([1-9]{1}//d*)|([0]{1}))(//.(//d){" + count + "})?$"; return decimal.matches(regex); } /** * 判斷是否是移動手機號碼* * @param phoneNumber * 移動手機號碼* @return boolean true,通過,false,沒通過*/ public static boolean isMobilePhoneNumber(String phoneNumber) { if (Strings.isNullOrEmpty(phoneNumber)) return false; String regex = "^((13[0-9])|(15[0-9])|(18[1-9]))//d{8}$"; return phoneNumber.matches(regex); } /** * 判斷是否是手機號碼* * @param phoneNumber * 移動手機號碼* @return boolean true,通過,false,沒通過*/ public static boolean isPhoneNumber(String phoneNumber) { if (Strings.isNullOrEmpty(phoneNumber)) return false; String regex = "^1//d{10}$"; return phoneNumber.matches(regex); } /** * 判斷是否含有特殊字符* * @param text * @return boolean true,通過,false,沒通過*/ public static boolean hasSpecialChar(String text) { if (Strings.isNullOrEmpty(text)) return false; if (text.replaceAll("[az]*[AZ]*//d*-*_*//s*", "").length() == 0) { // 如果不包含特殊字符return true; } return false; } private static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) { return true; } return false; }}以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。