2020-09-07 正则表达式合集

做项目过程中见到的正则表达式,按需自取,使用前先验证哈~。

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})$"; 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是光吖。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值