时间条目的正则表达式验证

use*_*523 2 java regex validation

我有一个文本框,它接受格式为HH:mm的时间,条目应该只有24小时格式.对于所有无效条目,应显示常见消息"无效条目".

例如:

19:61 //INVALID
12:00am //INVALID
12***M //INVALID

06:00 //VALID
22:00 //VALID
5:45 //VALID
Run Code Online (Sandbox Code Playgroud)

所需的代码是Java.不熟悉正则表达式...所以需要你的想法.Thx提前!:)

String timeStr = getTimeBoxValue();
Run Code Online (Sandbox Code Playgroud)

vik*_*kky 5

有一个链接 ,您可以使用.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Time24HoursValidator{

  private Pattern pattern;
  private Matcher matcher;

  private static final String TIME24HOURS_PATTERN = 
             "([01]?[0-9]|2[0-3]):[0-5][0-9]";

  public Time24HoursValidator(){
      pattern = Pattern.compile(TIME24HOURS_PATTERN);
  }

  /**
   * Validate time in 24 hours format with regular expression
   * @param time time address for validation
   * @return true valid time fromat, false invalid time format
   */
  public boolean validate(final String time){

      matcher = pattern.matcher(time);
      return matcher.matches();

  }
}
Run Code Online (Sandbox Code Playgroud)