我是靠谱客的博主 糟糕戒指,最近开发中收集的这篇文章主要介绍php判断一个字符串是否符合时间格式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

$preg = '/^([12]ddd)-(0?[1-9]|1[0-2])-(0?[1-9]|[12]d|3[0-1]) ([0-1]d|2[0-4]):([0-5]d)(:[0-5]d)?$/';

preg_match($preg, '2018-1-2 24:00:50')

年:([12]ddd) 表示第一位只能是1或者2,后三位数字即可;范围1000-2999;

月:(0?[1-9]|1[0-2])   表示当月份为1-9时,前面的0可传可不传,当十位数是1时,个位数只能是0-2,范围1-12

日:(0?[1-9]|[12]d|3[0-1])表示当日是1-9时,前面的0可传可不传,当十位数是3时,个位数为0或1,范围1-31;

时:([0-1]d|2[0-4]) 表示当一个字符是0或1的时候,第二个数字是0-9,第一个数字是2的时候,第二个数字是0-4,那么时的范围是00-24;

分:([0-5]d)    分的范围是00-59;

秒:(:[0-5]d)?  表示秒可传可不传,例如:2018-5-16 16:46,2018-5-16 16:46:00均可验证通过;

注意:此事件只判断格式是否正确,牵扯到是否闰年,特殊月份包含天数不加判断。

  • 字符功能
  1. . 匹配任意1个字符(除了n)
  2. [ ] 匹配[ ]中列举的字符
  3. d 匹配数字,即0-9
  4. D 匹配非数字,即不是数字
  5. s 匹配空白,即 空格,tab键
  6. S 匹配非空白
  7. w 匹配单词字符,即a-z、A-Z、0-9、_
  8. W 匹配非单词字符
  9. $ 以上一个字符结尾
  • 表示数量
  1. 匹配多个字符的相关格式
  2. 字符 功能
  3. 匹配前一个字符出现0次或者无限次,即可有可无
  4. 匹配前一个字符出现1次或者无限次,即至少有1次
  5. ? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有
  6. {m} 匹配前一个字符出现m次
  7. {m,} 匹配前一个字符至少出现m次
  8. {m,n} 匹配前一个字符出现从m到n次

  • 表示边界
  1. ^ 匹配字符串开头
  2. $ 匹配字符串结尾
  3. b 匹配一个单词的边界
  4. B 匹配非单词边界
  • 匹配分组
  1. | 匹配左右任意一个表达式
  2. (ab) 将括号中字符作为一个分组
  3. num 引用分组num匹配到的字符串
  4. (?P<name>) 分组起别名
  5. (?P=name) 引用别名为name分组匹配到的字符串

最后

以上就是糟糕戒指为你收集整理的php判断一个字符串是否符合时间格式的全部内容,希望文章能够帮你解决php判断一个字符串是否符合时间格式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部