Überprüfen Sie regelmäßig das Format der Datumszeichenfolge – Sie können es direkt zum persönlichen Test mitnehmen

Die Eingabezeichenfolge muss nicht in ein Datum konvertiert, sondern überprüft werden. Sie kann durch reguläre Regeln überprüft oder je nach Bedarf flexibel mit der Split-Methode von String kombiniert werden.

import java.util.regex.Pattern;

1. jjjj-MM-tt

public static void main(String[] args) {
    
    
    String dateStr="2021-01-01";
    System.out.println(Pattern.matches("^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|(1|2)[0-9]|30|31)$",dateStr));
}

2. Jahr JJJJ vier natürliche Zahlen

public static void main(String[] args) {
    
    
    String dateStr="2021";
    System.out.println(Pattern.matches("^\\d{4}$",dateStr));
}

3. Monat MM 01~09 | 10~12

public static void main(String[] args) {
    
    
    String dateStr="01";
    System.out.println(Pattern.matches("^(0[1-9]|1[0-2])$",dateStr));
}

4. Tag dd 01–09 | 10–19 | 20–29 | 30–31

public static void main(String[] args) {
    
    
    String dateStr="01";
    System.out.println(Pattern.matches("^(0[1-9]|(1|2)[0-9]|30|31)$",dateStr));
}

Fünf, Monat m 1 ~ 12

public static void main(String[] args) {
    
    
    String dateStr="1";
    System.out.println(Pattern.matches("^([1-9]|1[0-2])$",dateStr));
}

6. Tage 1 ~ 9 | 10 ~ 19 | 20 ~ 29 | 30 ~ 31

public static void main(String[] args) {
    
    
    String dateStr="1";
    System.out.println(Pattern.matches("^(([1-9])|((1|2)[0-9])|30|31)$",dateStr));
}

7. Monat MM 01~09 | 10~12 oder M 1~12

public static void main(String[] args) {
    
    
    String dateStr="1";
    System.out.println(Pattern.matches("^(0?[1-9]|1[0-2])$",dateStr));
}

8. Tag TT 01–09 | 10–19 | 20–29 | 30–31 oder Tag 1–9 | 10–19 | 20–29 | 30–31

public static void main(String[] args) {
    
    
    String dateStr="1";
    System.out.println(Pattern.matches("^((0?[1-9])|((1|2)[0-9])|30|31)$",dateStr));
}

Guess you like

Origin blog.csdn.net/weixin_45752941/article/details/116460454