[英]YYYYMMDD Date Format regular Expression to validate a date in C# .net
[英]A regular expression to validate .NET time format
背景
我需要在某些字段中验证用户输入,这些字段定义了如何在某些视图中显示时间。
要求
时间格式必须以 Microsoft .NET 方式表示(如果您想了解有关框架的日期和时间格式的更多信息,请查看此 MSDN 库文章: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx )
请记住,我正在寻找验证格式而不是实际时间字符串。
例如,用户可以输入:
事实上,它应该从可用的最短到最长的时间格式进行验证。
另一点是我需要在客户端使用 JavaScript 来完成。 换句话说,任何给定的正则表达式都应该在浏览器 JavaScript 正则表达式引擎中工作。
我会很感激任何自编的,任何链接或粘贴的表达!
先感谢您。
注意(更新)
我不能使用 ASP.NET 验证引擎或任何其他验证引擎。 由于项目的要求,我需要避免这种情况。
据我了解,没有太多选择 - 最多 20 个。 为什么不在一个没有太多特殊符号的大正则表达式中枚举它们呢? 喜欢
'hh:mm|hh:mm:ss|yyyy-MM-dd hh:mm|<etc>'
您可以区分大小写以区分M
代表月和m
代表分钟,并将其设为[hH]
小时,然后将其设为[:-/]
以允许使用不同的分隔符以及许多其他类似的东西。 但主要思想是简单地枚举由|
分隔的所有选项。 |
之间只有少量的正则表达式语法和|
.
您对“有效”格式字符串的定义是什么? 只有知道了这一点,才能验证格式字符串。
“K”也是一个有效的格式字符串
"zz" 也是一个有效的格式字符串
“e”也是一个有效的格式(它会落入“字符被复制到结果字符串不变。”的情况下)
我什至不确定什么格式实际上会导致 .NET.ToString() 抛出异常(如果这是您要避免的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.