正則表示式(各種常用)
阿新 • • 發佈:2019-02-11
/**
* Email正則表示式=^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
*/
public static final String EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
/**
* 電話號碼正則表示式=
* (^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|
* (^0?1[35]\d{9}$)
*/
public static final String PHONE = "(^(\\d{2,4}[-_-—]?)?\\d{3,8}([-_-—]?\\d{3,8})?([-_-—]?\\d{1,7})?$)|(^0?1[35]\\d{9}$)";
/**
* 手機號碼正則表示式=^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$
*/
public static final String MOBILE = "^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\\d{8}$";
/**
* IP地址正則表示式
* ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\
* d|[01]?\\d?\\d))
*/
public static final String IPADDRESS = "((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))";
/**
* Integer正則表示式 ^-?(([1-9]\d*$)|0)
*/
public static final String INTEGER = "^-?(([1-9]\\d*$)|0)";
/**
* 正整數正則表示式 >=0 ^[1-9]\d*|0$
*/
public static final String INTEGER_NEGATIVE = "^[1-9]\\d*|0$";
/**
* 負整數正則表示式 <=0 ^-[1-9]\d*|0$
*/
public static final String INTEGER_POSITIVE = "^-[1-9]\\d*|0$";
/**
* Double正則表示式 ^-?([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正則表示式 >=0 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
*/
public static final String DOUBLE_NEGATIVE = "^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0$";
/**
* 負Double正則表示式 <= 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$";
/**
* 年齡正則表示式 ^(?:[1-9][0-9]?|1[01][0-9]|120)$ 匹配0-120歲
*/
public static final String AGE = "^(?:[1-9][0-9]?|1[01][0-9]|120)$";
/**
* 郵編正則表示式 [1-9]\d{5}(?!\d) 國內6位郵編
*/
public static final String CODE = "[1-9]\\d{5}(?!\\d)";
/**
* 匹配由數字、26個英文字母或者下劃線組成的字串 ^\w+$
*/
public static final String STR_ENG_NUM_ = "^\\w+$";
/**
* 匹配由數字和26個英文字母組成的字串 ^[A-Za-z0-9]+$
*/
public static final String STR_ENG_NUM = "^\\w+$";
/**
* 匹配由26個英文字母組成的字串 ^[A-Za-z]+$
*/
public static final String STR_ENG = "^[A-Za-z]+$";
/**
* 匹配中文字元 ^[\u0391-\uFFE5]+$
*/
public static final String STR_CHINA = "^[\u0391-\uFFE5]+$";
/**
* 過濾特殊字串正則 regEx=
* "[` [email protected] $%^&*()+=|{}':;',\\[\\].<>/?~!@ ¥%……&*()——+|{}【】‘;:”“’。,、?]";
*/
public static final String STR_SPECIAL = "[`[email protected] $%^&*()+=|{}':;',\\[\\].<>/?~!@ ¥%……&*()——+|{}【】‘;:”“’。,、?]";
/**
*只能輸英文 數字 中文 ^[a-zA-Z0-9\u4e00-\u9fa5]+$
*/
public static final String STR_ENG_CHA_NUM = "^[a-zA-Z0-9\u4e00-\u9fa5]+$";
/**
*
*/
/***
* 日期正則 支援: YYYY-MM-DD YYYY/MM/DD YYYY_MM_DD YYYYMMDD YYYY.MM.DD的形式
*/
public static final String DATE_ALL = "((^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(10|12|0?[13578])([-\\/\\._]?)(3[01]|[12][0-9]|0?[1-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)$)|(^([2-9][0-9][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)$))";
/**
* URL正則表示式 匹配 http www ftp
*/
public static final String URL = "^(http|www|ftp|)?(://)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w)*)(\\?)?"
+ "(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?)*"
+ "(\\w*:)*(\\w*\\+)*(\\w*\\.)*"
+ "(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)$";
/**
* 身份證正則表示式
*/
public static final String 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][0-9]{3}"
+ "[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))";
/**
* 1.匹配科學計數 e或者E必須出現有且只有一次 不含Dd 正則
* ^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012]
* ?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))$
*/
public final static String SCIENTIFIC_A = "^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))$";
/**
* 2.匹配科學計數 e或者E必須出現有且只有一次 結尾包含Dd 正則
* ^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012
* ]?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))[dD]?$
*/
public final static String SCIENTIFIC_B = "^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))[dD]?$";
/**
* 3.匹配科學計數 是否含有E或者e都通過 結尾含有Dd的也通過(針對Double型別) 正則
* ^[-+]?(\d+(\.\d*)?|\.\d+)([
* eE]([-+]?([012]?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?[dD]?$
*/
public final static String SCIENTIFIC_C = "^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?[dD]?$";
/**
* 4.匹配科學計數 是否含有E或者e都通過 結尾不含Dd 正則
* ^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012]?
* \d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?$
*/
public final static String SCIENTIFIC_D = "^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?$";
* Email正則表示式=^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
*/
public static final String EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
/**
* 電話號碼正則表示式=
* (^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|
* (^0?1[35]\d{9}$)
*/
public static final String PHONE = "(^(\\d{2,4}[-_-—]?)?\\d{3,8}([-_-—]?\\d{3,8})?([-_-—]?\\d{1,7})?$)|(^0?1[35]\\d{9}$)";
/**
* 手機號碼正則表示式=^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$
*/
public static final String MOBILE = "^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\\d{8}$";
/**
* IP地址正則表示式
* ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\
* d|[01]?\\d?\\d))
*/
public static final String IPADDRESS = "((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))";
/**
* Integer正則表示式 ^-?(([1-9]\d*$)|0)
*/
public static final String INTEGER = "^-?(([1-9]\\d*$)|0)";
/**
* 正整數正則表示式 >=0 ^[1-9]\d*|0$
*/
public static final String INTEGER_NEGATIVE = "^[1-9]\\d*|0$";
/**
* 負整數正則表示式 <=0 ^-[1-9]\d*|0$
*/
public static final String INTEGER_POSITIVE = "^-[1-9]\\d*|0$";
/**
* Double正則表示式 ^-?([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正則表示式 >=0 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
*/
public static final String DOUBLE_NEGATIVE = "^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0$";
/**
* 負Double正則表示式 <= 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$";
/**
* 年齡正則表示式 ^(?:[1-9][0-9]?|1[01][0-9]|120)$ 匹配0-120歲
*/
public static final String AGE = "^(?:[1-9][0-9]?|1[01][0-9]|120)$";
/**
* 郵編正則表示式 [1-9]\d{5}(?!\d) 國內6位郵編
*/
public static final String CODE = "[1-9]\\d{5}(?!\\d)";
/**
* 匹配由數字、26個英文字母或者下劃線組成的字串 ^\w+$
*/
public static final String STR_ENG_NUM_ = "^\\w+$";
/**
* 匹配由數字和26個英文字母組成的字串 ^[A-Za-z0-9]+$
*/
public static final String STR_ENG_NUM = "^\\w+$";
/**
* 匹配由26個英文字母組成的字串 ^[A-Za-z]+$
*/
public static final String STR_ENG = "^[A-Za-z]+$";
/**
* 匹配中文字元 ^[\u0391-\uFFE5]+$
*/
public static final String STR_CHINA = "^[\u0391-\uFFE5]+$";
/**
* 過濾特殊字串正則 regEx=
* "[`
*/
public static final String STR_SPECIAL = "[`[email protected] $%^&*()+=|{}':;',\\[\\].<>/?~!@ ¥%……&*()——+|{}【】‘;:”“’。,、?]";
/**
*只能輸英文 數字 中文 ^[a-zA-Z0-9\u4e00-\u9fa5]+$
*/
public static final String STR_ENG_CHA_NUM = "^[a-zA-Z0-9\u4e00-\u9fa5]+$";
/**
*
*/
/***
* 日期正則 支援: YYYY-MM-DD YYYY/MM/DD YYYY_MM_DD YYYYMMDD YYYY.MM.DD的形式
*/
public static final String DATE_ALL = "((^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(10|12|0?[13578])([-\\/\\._]?)(3[01]|[12][0-9]|0?[1-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)$)|(^([2-9][0-9][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)$))";
/**
* URL正則表示式 匹配 http www ftp
*/
public static final String URL = "^(http|www|ftp|)?(://)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w)*)(\\?)?"
+ "(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?)*"
+ "(\\w*:)*(\\w*\\+)*(\\w*\\.)*"
+ "(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)$";
/**
* 身份證正則表示式
*/
public static final String 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][0-9]{3}"
+ "[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))";
/**
* 1.匹配科學計數 e或者E必須出現有且只有一次 不含Dd 正則
* ^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012]
* ?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))$
*/
public final static String SCIENTIFIC_A = "^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))$";
/**
* 2.匹配科學計數 e或者E必須出現有且只有一次 結尾包含Dd 正則
* ^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012
* ]?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))[dD]?$
*/
public final static String SCIENTIFIC_B = "^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))[dD]?$";
/**
* 3.匹配科學計數 是否含有E或者e都通過 結尾含有Dd的也通過(針對Double型別) 正則
* ^[-+]?(\d+(\.\d*)?|\.\d+)([
* eE]([-+]?([012]?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?[dD]?$
*/
public final static String SCIENTIFIC_C = "^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?[dD]?$";
/**
* 4.匹配科學計數 是否含有E或者e都通過 結尾不含Dd 正則
* ^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012]?
* \d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?$
*/
public final static String SCIENTIFIC_D = "^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?$";