点滴 AndroidAndroid技术知识Java学习笔记

正则表达式三十六计

2017-03-01  本文已影响88人  乆丩乣

收藏了一些包括数字,密码,字符串以及其他常用的正则表达式,用时一查,省时省力!

/**
 * 数字相关
 */
public static final String P_N_1 = "^[0-9]*$";// 数字
public static final String P_N_2 = "^\\d{3}$";// 3为数字
public static final String P_N_3 = "^\\d{3,}$";// 至少3位数字
public static final String P_N_4 = "^\\d{3,5}$";// M之N位数字
public static final String P_N_6 = "^-?[1-9]\\d*$";// 整数
public static final String P_N_7 = "^[1-9]\\d*$";// 正整数
public static final String P_N_8 = "^-[1-9]\\d*$";// 负整数
/***
 * 字符串相关
 */
public static final String P_S_0 = "[\\u4e00-\\u9fa5]";// 中文
public static final String P_S_1 = "^.{3,20}$";// 长度为M至N的所有字符
public static final String P_S_2 = "^[A-Za-z]+$";// 纯英文字母
public static final String P_S_3 = "^[A-Z]+$";// 纯大写英文字母
public static final String P_S_4 = "^[a-z]+$";// 纯小写英文字母
public static final String P_S_5 = "^[A-Za-z0-9]+$";// 数字和英文字母
public static final String P_S_6 = "^[\\u4E00-\\u9FA5A-Za-z0-9_]+$";// 中文、英文、数字或下划线
public static final String P_S_7 = "^\\\\w+$";// 中文、英文、数字或下划线
public static final String P_S_8 = "^[\\u4E00-\\u9FA5A-Za-z0-9]{2,20}$";// 中文、英文、数字[不包括下划线]
public static final String P_S_9 = "^(f|ht){1}(tp|tps):\\\\/\\\\/([\\\\w-]+\\\\.)+[\\\\w-]+(\\\\/[\\\\w- ./?%&=]*)?";// 赛选字符串中的URL
/**
 * 密码相关
 */
public static final String P_P_0 = "^(?=.*\\\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";// 密码强度
public static final String P_P_1 = "^[A-Za-z0-9]+$";// 英文&数字
public static final String P_P_2 = "^[A-Za-z0-9]{4,40}$";// 英文&数字
public static final String P_P_3 = "^\\w+$ 或 ^\\w{3,20}$";// 数字、英文字母或下划线
public static final String P_P_4 = "^[a-zA-Z]\\w{5,17}$";// 密码【以字母开头,长度在6~18之间,只能包含字母、数字和下划线】
public static final String P_P_5 = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";// 强密码【必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间】
/**
 * 时间相关
 */
public static final String P_T_0 = "^\\d{4}-\\d{1,2}-\\d{1,2}";// 日期格式
public static final String P_T_1 =
        "^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$\n";//校验日期 【“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。】
/**
 * 其他
 */
public static final String P_O_1  = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";// Email
public static final String P_O_2  = "[\\\\w!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[\\\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\\\w](?:[\\\\w-]*[\\\\w])?\\\\.)+[\\\\w](?:[\\\\w-]*[\\\\w])?";// Email
public static final String P_O_3  = "[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?";// 域名
public static final String P_O_4  = "^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$";// 手机号码
public static final String P_O_5  = "^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\\\d{8}$";// 手机号码
public static final String P_O_6  = "^\\d{15}|\\d{18}$";// 身份证号
public static final String P_O_7  = "^[1-9]\\\\d{7}((0\\\\d)|(1[0-2]))(([0|1|2]\\\\d)|3[0-1])\\\\d{3}$";// 15位身份证号
public static final String P_O_8  = "^[1-9]\\\\d{5}[1-9]\\\\d{3}((0\\\\d)|(1[0-2]))(([0|1|2]\\\\d)|3[0-1])\\\\d{3}([0-9]|X)$";// 18位身份证号
public static final String P_0_9  = "^[0-9]+(.[0-9]{2})?$";// 金额校验,精确到2位小数
public static final String P_0_10 = "\\\\< *[img][^\\\\\\\\>]*[src] *= *[\\\\\"\\\\']{0,1}([^\\\\\"\\\\'\\\\ >]*)";// 获取网页中的图片信息
public static final String P_0_11 = "[1-9][0-9]\\{4,\\}";// QQ号
/**
 * 判断是否匹配正则
 *
 * @param regex 判定规则
 * @param str 待判定字符串
 * @return
 */
public static boolean isMatch(String regex, CharSequence str) {
    return str != null && str.length() > 0 && Pattern.matches(regex, str);
}
我的微信公众号
上一篇下一篇

猜你喜欢

热点阅读