0
我需要檢查用戶是否以某種格式輸入日期。我從UITextField
得到這個輸入,然後我試圖驗證這種方式:DateFormatter沒有實際檢查日期格式
func checkDateInput(inputStr: String) -> Bool {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"
if let date = dateFormatter.date(from: inputStr) {
return true
}
return false
}
之前調用這個方法,我檢查inputStr
不是空的。 當我運行應用程序和我輸入,例如,「12/07/2016」,我得到true
作爲checkDateInput(inputStr: "12/07/2016")
的結果,但我期望得到false
,因爲我想讓用戶輸入「12-07- 2016" 。它看起來像DateFormatter
不以我提供的格式考慮「 - 」和「/」不同的字符。
我怎樣才能實現與日期格式完全匹配?
因爲DateFormatter仍然可以格式化該輸入錯誤的返回TRUE。如果你所需要的只是正確的字符串,只需調用dateFormatter.string(from:date)即可得到正確的字符串。如果檢查更重要,您將不得不使用我不熟悉的正則表達式來幫助您或使用本機字符串函數進行檢查 –