Validation for hh:mm:ss
本文关键字:mm ss hh for Validation | 更新日期: 2023-09-27 18:12:11
我是c# .net的新手。我想要验证文本框只采取hh:mm:ss格式。下面是我的代码和它的工作。它给出的输出为true 23:45:45(仅限示例),对于-23:45:45(仅限示例)也为true。现在我想验证返回假-23:45:45(仅限示例),因为它是负时间。我的运行代码不工作负时间
IsTrue = ValidateTime(txtTime.Text);
if (!IsTrue)
{
strErrorMsg += "'nPlease insert valid alpha time in hh:mm:ss formats";
isValidate = false;
}
public bool ValidateTime(string time)
{
try
{
Regex regExp = new Regex(@"(([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9])");
return regExp.IsMatch(time);
}
catch (Exception ex)
{
throw ex;
}
}
我根本不会使用正则表达式—我只是尝试将结果解析为具有自定义格式的DateTime
:
public bool ValidateTime(string time)
{
DateTime ignored;
return DateTime.TryParseExact(time, "HH:mm:ss",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out ignored);
}
(如果您真的想坚持使用正则表达式,请遵循mel的答案。我将摆脱毫无意义的try/catch块,并且可能只构造一次正则表达式并重用它。)
用^在开头和$在结尾包围你的正则表达式。这些标记了字符串的开始和结束,当存在任何其他字符时,将使匹配无效。