含有字母数字且8位以上30位以下:
/**
* 匹配必须含有字母数字且8位以上30位以下的正则表达式
*/
private static final String REG_NUM_CHAR = "^(?![0-9]+$)(?![a-zA-Z]+$)[A-Za-z0-9]{8,30}$";
"a12345678".matches(REG_NUM_CHAR)
匹配不包含汉字和空格且8位以上30位以下:
/**
* ^ 是排除 \\s 是空格 \\u4e00-\\u9fa5一般汉字
*/
private static final String REG_PASSWORD = "[^\\u4e00-\\u9fa5\\s]{8,30}";
匹配必须包含字母和数字 可以包含特殊符号下划线 不能包含汉字空格的8位以上30位一下的正则表达式:
private static final String REG_PASSWORD = "^(?![\\d]+$)(?![a-zA-Z]+$)(?![^\\da-zA-Z]+$)(?![^\\d]+$)(?![^a-zA-Z]+$)[^\\u4e00-\\u9fa5\\s]{8,30}$"
使用排除法
(排除全是数字的)(排除全是字母的)(排除全是非字母和数字的如$%&&@%@@)(排除全是非数字的如abc@@@@!!!)(排除全部非字母的如123&^&%&123)【排除汉字和空格】 「限定长度」