Dart可以通过正则表达式来判断时间格式是否合法。下面是一个使用正则表达式判断时间格式的示例代码:
bool isTimeValid(String timeString) {
// 定义时间正则表达式
RegExp timeRegex = RegExp(
r"^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$",
caseSensitive: false,
multiLine: false,
);
return timeRegex.hasMatch(timeString);
}
void main() {
// 测试用例
print(isTimeValid("08:30:00")); // true
print(isTimeValid("23:59:59")); // true
print(isTimeValid("24:00:00")); // false
print(isTimeValid("08:30")); // false
print(isTimeValid("8:30:00")); // false
}
该代码使用正则表达式来判断时间格式是否为“小时:分钟:秒”的格式。如果时间格式正确,则返回 true,否则返回 false。
以下是一个使用正则表达式来判断时间格式是否为“年-月-日 小时:分钟:秒”的示例代码:
bool isDateTimeValid(String dateTimeString) {
// 定义正则表达式
RegExp dateTimeRegex = RegExp(
r"^\d{4}-\d{2}-\d{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$",
caseSensitive: false,
multiLine: false,
);
return dateTimeRegex.hasMatch(dateTimeString);
}
void main() {
// 测试用例
print(isDateTimeValid("2021-10-10 08:30:00")); // true
print(isDateTimeValid("2022-01-01 23:59:59")); // true
print(isDateTimeValid("2021/10/10 08:30:00")); // false
print(isDateTimeValid("2021-10-10 8:30:00")); // false
print(isDateTimeValid("2021-10-10 08:30")); // false
}
该代码使用正则表达式来判断给定的时间字符串是否为“年-月-日 小时:分钟:秒”的格式。如果时间格式正确,则返回 true,否则返回 false。
需要注意的是,该代码只能判断时间格式是否正确,不能判断时间是否合法。例如,2021-02-30 08:30:00 是一个合法的时间格式,但是该时间并不存在。
使用正则表达式来判断时间格式是否为“年-月-日 小时:分钟:秒”的格式