![](/img/trans.png)
[英]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.