Java日期时间网址二维码的正则表达式

本文介绍了如何在Java中使用正则表达式处理日期时间格式,以及创建和验证网址二维码的过程。通过实例展示了具体的代码实现,帮助读者理解在实际开发中如何有效应用正则表达式。


 
if (1 == type) {
    //纯数字
    Pattern pattern = Pattern.compile("^[0-9]{" + minL + "," + maxL + "}");
    return pattern.matcher(value).matches();
} else if (2 == type) {
    //字母数字
    Pattern pattern = Pattern.compile("^[0-9a-zA-Z]{" + minL + "," + maxL + "}");
    return pattern.matcher(value).matches();
} else if (3 == type) {
    //金额
    Pattern pattern = Pattern.compile("[.0-9]+");
    return pattern.matcher(value).matches() && minL <= value.length() && value.length() <= maxL;
} else if (4 == type) {
    //任意字符
    return minL <= value.length() && value.length() <= maxL;
} else if (5 == type) {
    //验证日期是yyyy-MM-dd
    Pattern p = Pattern.compile("^(?:(?!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)$");
    return p.matcher(value).matches();
} else if (6 == type) {
    //验证日期是yyyy/MM/dd
    Pattern p = Pattern.compile("^(?:(?!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)$");
    return p.matcher(value).matches();
} else if (7 == type) {
    //MM-dd
    Pattern pattern = Pattern.compile("^(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[2469]|11)-(0[1-9]|[12][0-9]|30)))$");
    return pattern.matcher(value).matches();
} else if (8 == type) {
    //MM/dd
    Pattern pattern = Pattern.compile("^(((0[13578]|1[02])/(0[1-9]|[12][0-9]|3[01]))|((0[2469]|11)/(0[1-9]|[12][0-9]|30)))$");
    return pattern.matcher(value).matches();
} else if (9 == type) {
    //验证日期是yyyy-MM-dd HH:mm:ss
    Pattern p = Pattern.compile("^(?:(?!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) ([0-1][0-9]|(2[0-3])):([0-5][0-9]):([0-5][0-9])$");
    return p.matcher(value).matches();
} else if (10 == type) {
    //验证日期是yyyy/MM/dd HH:mm:ss
    Pattern p = Pattern.compile("^(?:(?!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) ([0-1][0-9]|(2[0-3])):([0-5][0-9]):([0-5][0-9])$");
    return p.matcher(value).matches();
} else if (11 == type) {
    //MM-dd HH:mm:ss
    Pattern pattern = Pattern.compile("^(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[2469]|11)-(0[1-9]|[12][0-9]|30))) ([0-1][0-9]|(2[0-3])):([0-5][0-9]):([0-5][0-9])$");
    return pattern.matcher(value).matches();
} else if (12 == type) {
    //MM/dd HH:mm:ss
    Pattern pattern = Pattern.compile("^(((0[13578]|1[02])/(0[1-9]|[12][0-9]|3[01]))|((0[2469]|11)/(0[1-9]|[12][0-9]|30))) ([0-1][0-9]|(2[0-3])):([0-5][0-9]):([0-5][0-9])$");
    return pattern.matcher(value).matches();
} else if (13 == type) {
    //验证时间HH:mm:ss的正则表达式
    Pattern p = Pattern.compile("([0-1][0-9]|(2[0-3])):([0-5][0-9]):([0-5][0-9])$");
    return p.matcher(value).matches();
}else if (14 == type){
    //验证二维码URL
    Pattern p = Pattern.compile("^(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]$");
    return p.matcher(value).matches()&&minL<value.length()&&value.length()<maxL;
}

 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值