首页 > 解决方案 > 如何在 SWIFT 中匹配和范围字符串到正则表达式

问题描述

我需要将字符串中的日期验证为yyyy-MM-dd使用正则表达式的格式。

现在我可以通过以下方式检查字符串是否与该格式匹配:

if value.matches("^[0-9]{4}-[0-9]{2}-[0-9]{2}") {

但它也接受2009-90-90,这是无效的日期。

那么如何在我的常规中添加范围,例如12日期中不超过几个月。

谢谢

标签: swiftregex

解决方案


正则表达式不是验证日期的最合适方式。改用日期格式化程序:

let formatter = DateFormatter()

formatter.dateFormat = "yyyy-MM-dd"

let str = "2019-02-28"

let dateIsValid = formatter.date(from: str) != nil

推荐阅读