Java正则判断日期格式是否正确的方法示例

2025-05-29 0 33

本文实例讲述了Java正则判断日期格式是否正确的方法。分享给大家供大家参考,具体如下:

1、Java中用正则表达式判断日期格式是否正确

DateType.java:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96
/**

* @Title:DateType.java

* @Package:com.you.dao

* @Description:

* @Author: 游海东

* @Version V1.2.3

*/

package com.you.dao;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* @类名:DateType

* @描述:

* @Author:游海东

*/

public class DateType

{

/**

*

* @类名:DateSelect

* @描述:

* @Author:游海东

*/

public static class DateSelect

{

public boolean isDate(String date)

{

/**

* 判断日期格式和范围

*/

String rexp = "^((\\\\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 pat = Pattern.compile(rexp);

Matcher mat = pat.matcher(date);

boolean dateType = mat.matches();

return dateType;

}

}

/**

* @Title : main

* @Type : DateType

* @Description :

* @param args

*/

public static void main(String[] args)

{

/**

* 日期格式正确

*/

String date1 = "2014-01-03";

/**

* 日期范围不正确---平年二月没有29号

*/

String date2 = "2014-02-29";

/**

* 日期月份范围不正确---月份没有13月

*/

String date3 = "2014-13-03";

/**

* 日期范围不正确---六月没有31号

*/

String date4 = "2014-06-31";

/**

* 日期范围不正确 ----1月超过31天

*/

String date5 = "2014-01-32";

/**

* 这个测试年份

*/

String date6 = "0014-01-03";

DateSelect date = new DateSelect();

/**

* 打印正确日期格式

*/

System.out.println(date.isDate(date1));

/**

* 打印date1

*/

System.out.println(date.isDate(date2));

/**

* 打印date3

*/

System.out.println(date.isDate(date3));

/**

* 打印date4

*/

System.out.println(date.isDate(date4));

/**

* 打印date5

*/

System.out.println(date.isDate(date5));

/**

* 打印date6

*/

System.out.println(date.isDate(date6));

}

}

2、运行结果

?

1

2

3

4

5

6
true

false

false

false

false

true

希望本文所述对大家java程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Java正则判断日期格式是否正确的方法示例 https://www.kuaiidc.com/118246.html

相关文章

发表评论
暂无评论