做项目过程中见到的正则表达式,按需自取,使用前先验证哈~。
1.数字
String numRegex1 = ".*\\d+.*";
//正整数和负整数
String numRegex2 = "\\-?[1-9]\\d+";
//验证整数和浮点数(正负整数和正负浮点数)
String numRegex3 = "\\-?[1-9]\\d+(\\.\\d+)?";
2.小写字母
String lowerCaseRegex = ".*[a-z]+.*";
3.大写字母
String upperCaseRegex= ".*[A-Z]+.*";
4.特殊符号(~!@#$%^&*()_+|<>,.?/:;’[]{})
String symbolRegex = ".*[~!@#$%^&*()_+|<>,.?/:;'\\[\\]{}\"]+.*";
//空白字符,包括:空格、\t、\n、\r、\f、\x0B
String sppaceRegex = "\\s+";
//中文
String cnRegex = "^[\u4E00-\u9FA5]+$";
5.6-20位数字或字母组合
String pwdRegex = "^[0-9a-zA-Z]{6,20}$";
6.手机号
String phoneRegex1 = "^1\\d{10}$";
String phoneRegex2 = "^1(3|4|5|7|8)\\d{9}$";
/**
* 验证手机号码(支持国际格式,+86135xxxx...(中国内地),+00852137xxxx...(中国香港))
*<p>移动的号段:134(0-8)、135、136、137、138、139、147(预计用于TD上网卡)、150、151、152、157(TD专用)、158、159、187(未启用)、188(TD专用)</p>
*<p>联通的号段:130、131、132、155、156(世界风专用)、185(未启用)、186(3g)</p>
*<p>电信的号段:133、153、180(未启用)、189</p>
*/
String phoneRegex3 = "(\\+\\d+)?1[3458]\\d{9}$";
/**
* 验证固定电话号码 格式:国家(地区)电话代码 + 区号(城市代码) + 电话号码,如:+8602085588447
* <p><b>国家(地区) 代码 :</b>标识电话号码的国家(地区)的标准国家(地区)代码。它包含从 0 到 9 的一位或多位数字,
* 数字之后是空格分隔的国家(地区)代码。</p>
* <p><b>区号(城市代码):</b>这可能包含一个或多个从 0 到 9 的数字,地区或城市代码放在圆括号——
* 对不使用地区或城市代码的国家(地区),则省略该组件。</p>
* <p><b>电话号码:</b>这包含从 0 到 9 的一个或多个数字 </p>
*/
String phoneRegex4 = "(\\+\\d+)?(\\d{3,4}\\-?)?\\d{7,8}$";
String phoneRegex5 = "^$|^[1][3,4,5,6,7,8,9][0-9]{9}$";
7.邮箱
String emailRegex1 = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
String emailRegex2 = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";
String emailRegex3 = "^\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?$";
String emailRegex4 = "^$|^\w+@[a-z0-9]+\.[a-z]{2,4}$";
8.身份证号
//十五位
String idRegex15 = "^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$";
//十八位
String idRegex18 = "^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$";
//15位或者18位身份证号
String idRegex1 = "(^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)";
String idRegex2 = "[1-9]\\d{13,16}[a-zA-Z0-9]{1}";
9.银行卡号
String bankCardNumberRegex = "^([1-9]{1})(\\d{15}|\\d{16}|\\d{18})$";
10.日期格式
String dateRegex1 = "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$";
//日期 格式:1992-09-03,或1992.09.03
String dateRegex2 = "[1-9]{4}([-./])\\d{1,2}\\1\\d{1,2}";
11.后缀是否符合excel文件
//文件名可以带空格
String excelRegex = "^.+\\.(?i)((xls)|(xlsx))$";
12.车牌号
String carnumRegex = "^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[警京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]{0,1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$";
13.URL地址
String urlRegex = "(https?://(w{3}\\.)?)?\\w+\\.\\w+(\\.[a-zA-Z]+)*(:\\d{1,5})?(/\\w*)*(\\??(.+=.*)?(&.+=.*)?)?";
14.中国邮政编码
String postcodeRegex = "[1-9]\\d{5}";
15.http或https开头
String regex = "(http|https)://([\w.]+/?)\S*";
16.IP地址
String regex1 = "[1-9](\\d{1,2})?\\.(0|([1-9](\\d{1,2})?))\\.(0|([1-9](\\d{1,2})?))\\.(0|([1-9](\\d{1,2})?))";
String regex2 = "^$|((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))";
17.验证端口
String regex = "^$|^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$";
18.包含中文
String regex = "^$|[^\u4e00-\u9fa5]+";
19.数值类型(整数、浮点数)
String regex = "^$|-?[1-9]\d*[.]\d+|0[.]\d*|-?[1-9]\d*|0";
20.经度
String regex = "^$|^[\-\+]?(0?\d{1,2}\.\d{1,5}|1[0-7]?\d{1}\.\d{1,5}|180\.0{1,5})$";
21.纬度
String regex = "^$|^[\-\+]?([0-8]?\d{1}\.\d{1,5}|90\.0{1,5})$";