【分享】一个正则表达式验证的测试类

KAKUKYOWU 2008-04-22 02:11:29
package test;

public class ZhengZeTest {

/**
* 判断字符是否是数字组成【0-9】
*
* @return boolean
* @param number
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isNumber(String number) {

int count = 0;
for (int i = 0; i < number.length(); i++) {
if (String.valueOf(number.charAt(i)).matches("\\d"))
count++;
}
if (count == number.length())
return true;
else
return false;
}

/**
* 判断字符是否是字母
*
* @return boolean
* @param en
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isEn(String en) {

int count = 0;
for (int i = 0; i < en.length(); i++) {
if (String.valueOf(en.charAt(i)).matches("[a-zA-Z]"))
count++;
}
if (count == en.length())
return true;
else
return false;
}

/**
* 判断字符是否是IP地址
*
* @return boolean
* @param ip
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isIp(String ip) {

return ip.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
}

/**
* 判断字符是否是E-Mail地址
*
* @return boolean
* @param mail
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isMail(String mail) {

return mail.matches("[a-zA-Z0-9|_|-]{3,}@[a-zA-Z0-9]{3,}\\.[a-zA-Z0-9]{2,}");
}

/**
* 判断字符是否是正确的日期格式(不包括时间)
*
* @return boolean
* @param date
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isDate(String date) {

return date
.matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");
}

/**
* 判断字符是否是正确的日期格式(包括时间)
*
* @return boolean
* @param time
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isTime(String time) {

return time
.matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$");
}

/**
* main主函数
*
* @return
* @param args
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static void main(String[] args) {

// 判断字符是否是数字组成【0-9】
System.out.println();
System.out.println("判断字符是否是数字组成【0-9】");
boolean bNumber1 = isNumber("00000001");
System.out.println("bNumber1: " + bNumber1);
boolean bNumber2 = isNumber("a000b001");
System.out.println("bNumber2: " + bNumber2);

// 判断字符是否是字母
System.out.println();
System.out.println("判断字符是否是字母");
boolean bEn1 = isEn("abcABC");
System.out.println("bEn1: " + bEn1);
boolean bEn2 = isEn("abc2345ABC");
System.out.println("bEn2: " + bEn2);

// 判断字符是否是IP地址
System.out.println();
System.out.println("判断字符是否是IP地址");
boolean ip1 = isIp("192.168.10.8");
System.out.println("ip1: " + ip1);
boolean ip2 = isIp("192.168.10.baby");
System.out.println("ip2: " + ip2);

// 判断字符是否是E-Mail地址
System.out.println();
System.out.println("判断字符是否是E-Mail地址");
boolean mail1 = isMail("guoqiang@bestwiz.cn");
System.out.println("mail1: " + mail1);
boolean mail2 = isMail("guoqiang998@163.com");
System.out.println("mail2: " + mail2);
boolean mail3 = isMail("guoqiang_998-bll@163.com");
System.out.println("mail3: " + mail3);
boolean mail4 = isMail("guoqiang_998*bll@163.com");
System.out.println("mail4: " + mail4);

// 判断字符是否是正确的日期格式(不包括时间)
System.out.println();
System.out.println("判断字符是否是正确的日期格式(不包括时间)");
boolean date1 = isDate("2008-04-01");
System.out.println("date1: " + date1);
boolean date2 = isDate("0000-04-01");
System.out.println("date2: " + date2);
boolean date3 = isDate("2008-13-01");
System.out.println("date3: " + date3);
boolean date4 = isDate("2008-04-32");
System.out.println("date4: " + date4);

// 判断字符是否是正确的日期格式(包括时间)
System.out.println();
System.out.println("判断字符是否是正确的日期格式(包括时间)");
boolean time1 = isTime("2008-04-01 00:00:00");
System.out.println("time1: " + time1);
boolean time2 = isTime("2008-04-01 24:00:00");
System.out.println("time2: " + time2);
boolean time3 = isTime("2008-04-01 00:60:00");
System.out.println("time3: " + time3);
boolean time4 = isTime("2008-04-01 00:00:60");
System.out.println("time4: " + time4);
}
}
...全文
113 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kcboooo 2012-10-26
  • 打赏
  • 举报
回复
真是好东西....~!

KAKUKYOWU 2008-04-22
  • 打赏
  • 举报
回复
不好意思,上边那个日期验证有些问题(2008-02-29 验证不出来),下面的是修改后完全正确的。。。
-------------------------------------------------------------------------------------------------------------
package test;

public class ZhengZeTest {

/**
* 判断字符是否是数字组成【0-9】
*
* @return boolean
* @param number
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isNumber(String number) {

int count = 0;
for (int i = 0; i < number.length(); i++) {
if (String.valueOf(number.charAt(i)).matches("\\d"))
count++;
}
if (count == number.length())
return true;
else
return false;
}

/**
* 判断字符是否是字母
*
* @return boolean
* @param en
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isEn(String en) {

int count = 0;
for (int i = 0; i < en.length(); i++) {
if (String.valueOf(en.charAt(i)).matches("[a-zA-Z]"))
count++;
}
if (count == en.length())
return true;
else
return false;
}

/**
* 判断字符是否是IP地址
*
* @return boolean
* @param ip
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isIp(String ip) {

return ip.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
}

/**
* 判断字符是否是E-Mail地址
*
* @return boolean
* @param mail
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isMail(String mail) {

return mail.matches("[a-zA-Z0-9|_|-]{3,}@[a-zA-Z0-9]{3,}\\.[a-zA-Z0-9]{2,}");
}

/**
* 判断字符是否是正确的日期格式(不包括时间)
*
* @return boolean
* @param date
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isDate(String date) {

return date
.matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29))$");
}

/**
* 判断字符是否是正确的日期格式(包括时间)
*
* @return boolean
* @param time
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static boolean isTime(String time) {

return time
.matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$");
}

/**
* main主函数
*
* @return
* @param args
*
* @author guoqiang <guoqiang@bestwiz.cn>
*/
public static void main(String[] args) {

// 判断字符是否是数字组成【0-9】
System.out.println();
System.out.println("判断字符是否是数字组成【0-9】");
boolean bNumber1 = isNumber("00000001");
System.out.println("bNumber1: " + bNumber1);
boolean bNumber2 = isNumber("a000b001");
System.out.println("bNumber2: " + bNumber2);

// 判断字符是否是字母
System.out.println();
System.out.println("判断字符是否是字母");
boolean bEn1 = isEn("abcABC");
System.out.println("bEn1: " + bEn1);
boolean bEn2 = isEn("abc2345ABC");
System.out.println("bEn2: " + bEn2);

// 判断字符是否是IP地址
System.out.println();
System.out.println("判断字符是否是IP地址");
boolean ip1 = isIp("192.168.10.8");
System.out.println("ip1: " + ip1);
boolean ip2 = isIp("192.168.10.baby");
System.out.println("ip2: " + ip2);

// 判断字符是否是E-Mail地址
System.out.println();
System.out.println("判断字符是否是E-Mail地址");
boolean mail1 = isMail("guoqiang@bestwiz.cn");
System.out.println("mail1: " + mail1);
boolean mail2 = isMail("guoqiang998@163.com");
System.out.println("mail2: " + mail2);
boolean mail3 = isMail("guoqiang_998-bll@163.com");
System.out.println("mail3: " + mail3);
boolean mail4 = isMail("guoqiang_998*bll@163.com");
System.out.println("mail4: " + mail4);

// 判断字符是否是正确的日期格式(不包括时间)
System.out.println();
System.out.println("判断字符是否是正确的日期格式(不包括时间)");
boolean date1 = isDate("2008-02-29");
System.out.println("date1: " + date1);
boolean date2 = isDate("0000-04-01");
System.out.println("date2: " + date2);
boolean date3 = isDate("2008-13-01");
System.out.println("date3: " + date3);
boolean date4 = isDate("2008-04-32");
System.out.println("date4: " + date4);

// 判断字符是否是正确的日期格式(包括时间)
System.out.println();
System.out.println("判断字符是否是正确的日期格式(包括时间)");
boolean time1 = isTime("2008-02-29 00:00:00");
System.out.println("time1: " + time1);
boolean time2 = isTime("2008-04-01 24:00:00");
System.out.println("time2: " + time2);
boolean time3 = isTime("2008-04-01 00:60:00");
System.out.println("time3: " + time3);
boolean time4 = isTime("2008-04-01 00:00:60");
System.out.println("time4: " + time4);
}
}
--------------------------------------------------------------------------------------------------------------
海边岩石 2008-04-22
  • 打赏
  • 举报
回复
收藏了!

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧