我需要使用正则表达式将字符串中的日期验证为yyyy-MM-dd
格式。
现在我可以通过以下方式检查字符串是否与该格式匹配:
if value.matches("^[0-9]{4}-[0-9]{2}-[0-9]{2}") {
但它也接受2009-90-90
,这是无效的日期。
那么我如何在常规中添加范围,例如日期不超过12
个月。
谢谢
正则表达式不是验证日期的最合适方法。请改用日期格式化程序:
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
let str = "2019-02-28"
let dateIsValid = formatter.date(from: str) != nil