swift - 如何在 SWIFT 中匹配和范围字符串到正则表达式
问题描述
我需要将字符串中的日期验证为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
推荐阅读
- python-3.x - 将空格识别为 python 路径的一部分
- microsoft-graph-api - 如何从标题中获取可用的电子邮件参考 ID 以在 Microsoft Graph 查询中使用?
- .htaccess - .htaccess 重定向不指向指定文件
- python - Keras(Tensorflow) python 图像分类与分析(根系统)
- sql - Postgresql 中使用触发器的总库存
- java - 使用自定义函数模拟静态 void 方法
- asp.net-core - Asp.Net 核心 ActionFilter 上下文请求正文已处理
- python - 堆叠从 Xarray 生成的 Dask 数组的有效方法
- java - 带有 OAuth 的 Spring Boot Security Multi Http 不起作用
- microsoft-edge - 发布 Microsoft Edge 扩展时如何解决识别问题?