我想知道是否有人能夠幫助我。我需要驗證文本框中的文本輸入。我需要確保它採用TimeSpan可以接受的格式。格式預期應該是hh:mm:ss:fff(即小時,分鐘,秒和毫秒,例如15:30:45:040)C# - 如何驗證字符串格式爲hh:mm:ss:fff?
2
A
回答
4
我會屏蔽輸入##:##:## :###以確保你沒有得到不合適的字母和特殊字符。
爲了確保您處理的是後端有效的值,我希望TimeSpan.TryParse()
能夠幫助您。往下看。
var val = "00:22:11:424";
TimeSpan ts = new TimeSpan();
TimeSpan.TryParse(val, out ts);
顯然的TryParse將處理異常,因此你可以使用TimeSpan.Parse(val)
和自己捕捉到的異常,如果有一個顯示給用戶。你也可以查看TS的值的TryParse後,以確保該值> = TimeSpan.MinValue
...
try
{
var val = "00:22:11:422";
TimeSpan ts = new TimeSpan();
ts = TimeSpan.Parse(val);
}
catch(Exception ex)
{
//do something...
}
5
如果你正在談論的驗證,然後使用TimeSpan.TryParse()
服務器端將是最簡單的和最簡單的方法。
3
您可以使用TimeSpan的TryParse方法。
0
如果您在服務器端進行驗證,我會使用TimeSpan.TryParse
(MSDN link here)。
bool isValidTimeSpan(string str)
{
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval)) return true;
return false;
}
而且,我會用一個屏蔽的編輯,迫使用戶進入你正在尋找,這將不會消除所有的錯誤格式的文本,但它會挑釁有助於減少問題。
0
有很多方法可以做到這一點。使用String.Split()
並檢查是否有4個部分由2個字符和TimeSpan.TryParse()
組成。
0
相關問題
- 1. 驗證字符串格式
- 2. 複雜字符串格式驗證
- 3. 如何驗證字符串值格式爲「\/Date(1239018869048)\ /」?
- 4. 無正則表達式的字符串格式驗證(C++ 03)
- 5. C#字符串驗證
- 6. 如何在編譯時使用scala驗證字符串格式
- 7. 如何以短時間格式驗證輸入字符串
- 8. 將字符串格式化爲十六進制並驗證
- 9. 如何將字符串解析爲字符串格式爲$$$$$$$$時cc在c#中?
- 10. 如何將C風格的printf格式轉換爲C#字符串格式?
- 11. 將C#字符串驗證爲有效的XML模式anyURI
- 12. 如何驗證JSON字符串JQuery的
- 13. C#格式字符串作爲日期
- 14. C#字符串格式問題爲錢
- 15. C++驗證用戶輸入爲字符或字符串
- 16. C#格式的字符串
- 17. C#字符串格式
- 18. c#字符串格式
- 19. 格式化C字符串
- 20. 格式字符串C++
- 21. 格式字符串.NET C#
- 22. C#+字符串格式化
- 23. 格式字符串在C#
- 24. C++格式字符串宏
- 25. 如何字符串格式
- 26. 驗證字符串格式(模式)輸入
- 27. 格式化長字符串轉換爲短字符串C#
- 28. 如何將.NET標準格式字符串轉換爲Excel格式字符串
- 29. 如何驗證字符串是否採用某種日期格式?
- 30. 驗證字符串異常
這就是我已經做了。我想知道如果嘗試解析失敗,我會如何返回錯誤消息? – danielcooperxyz 2012-04-24 16:50:27
看看上面的編輯... – RSolberg 2012-04-24 16:51:04
@ D4nC00per:和返回錯誤信息的問題在哪裏? – Vlad 2012-04-24 16:51:14