常用java正则表达式的工具类
程序员文章站
2023-11-16 21:20:52
本文实例为大家分享了java正则表达式工具类的具体代码,供大家参考,具体内容如下
import com.google.common.base.strings;...
本文实例为大家分享了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("[a-z]*[a-z]*\\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; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。