Sam*_*son 5 php validation date
我必须用我当前的项目来验证很多日期.不幸的是,这些日期可能会有很大差异.例子包括:
日期不会超过公元前9999年,也不会超过未来(超出"今天").验证提交的值确实是日期和适当日期的最佳方法是什么?
更新...
所有日期必须在其全局列表中排序.上面的含义日期1和3必须相互比较,并对ASC或DESC进行排序.
我完全了解过去发生的日历变化,以及围绕这些变化的混乱.我的项目假定用户已经执行了适当的校准,以根据我们的现代日历系统找出日期.我不会为他们执行此校准.
一系列精心编写的正则表达式如何识别每种可能的格式.一旦知道格式,就可以验证并将其置于统一表示中(例如,64位time_t).
例如,
/(\d{4})-(\d{2})-(\d{2})/
/(\d+)(bc|b.c.|bce|b.c.e)/i
etc.
Run Code Online (Sandbox Code Playgroud)
由于听起来每个表单都有自己的验证规则,并且您没有实现任何广泛使用的标准,我认为您无法单独验证每个表单.
更新:
所有日期必须在其全局列表中排序.
在我看来,为了能够对以不同格式出现的日期进行排序,您需要在内部对每个日期进行统一表示,如前所述.例如,使用多键字典(C++中的std :: multimap,不确定PHP)来存储(统一表示) - >(输入表示)映射.根据容器的实现,您可以免费获得反向查找或密钥排序.
| 归档时间: |
|
| 查看次数: |
2446 次 |
| 最近记录: |