天天看點

java正則驗證時間格式_Java中正規表達式驗證日期格式

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class DateCheck

{

public static void main(String[] args)

{

String checkValue = "2007-02-29";

//String eL = "^((((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$";

String eL= "^((\\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]))))))";

Pattern p = Pattern.compile(eL);

Matcher m = p.matcher(checkValue);

boolean b = m.matches();

if(b)

{

System.out.println("格式正确");

}

else

{

System.out.println("格式錯誤");

}

}

}

分享到:

java正則驗證時間格式_Java中正規表達式驗證日期格式
java正則驗證時間格式_Java中正規表達式驗證日期格式

2008-10-14 10:04

浏覽 7216

評論

3 樓

taney_911

2012-03-14

這個正規表達式也太長了把。。。

2 樓

superran_sy

2011-08-24

害人。。。

8888-88-88

居然也格式正确

java正則驗證時間格式_Java中正規表達式驗證日期格式

1 樓

raozhengyong

2009-09-16

相當不錯,我正在找這個東西,謝了!