日期字段正则表达式

时间:2012-10-16 13:19:59

标签: php regex validation

与之前的问题类似,我想要一个正则表达式,因为我自己不需要知道它...

我可以作为正则表达式

获取以下示例

值必须等于:

nn-nn-nnnn
nn/nn/nnnn

其中n =整数。

4 个答案:

答案 0 :(得分:1)

尝试这个

[0-9 - ] {2}(/ | - )[0-9] {2}(/ | - )[0-9] {4}

我检查了这个 http://regex.larsolavtorvik.com/

及其正常工作

答案 1 :(得分:1)

我更喜欢强迫用户以标准格式输入日期数据(ISO 8601)。

我将它用于年月日期(使用可选的分隔符:/, - )。请注意,在将值插入数据库的date列时,这仍可能导致错误,因为它允许月份和日期为例如99.

^(\d{4})[/|-]?(\d{2})[/|-]?(\d{2})$

如果您对ISO 8601不满意,可以将正则表达式中的元素添加到例如月 - 日。但是你会遇到Kolink提到的问题。输入的值是否真的意味着月 - 日 - 年或日 - 月 - 年? (如果您在日和月中使用单独的表单输入字段,则不一定会出现问题。)

答案 2 :(得分:0)

正则表达式中的“整数”为\d,对于某个数字,您可以使用{x}进行量化,x是您想要的数字。有关允许使用哪个符号的选项,请使用[...]列出有效字符。请记住,-具有特殊含义,除非它是括号内的第一个或最后一个字符。其余的由你决定,但是......

你怎么知道04-03-2012实际意味着什么? 4月3日还是3月4日?

答案 3 :(得分:0)

查看checkdate

  

检查参数形成的日期的有效性。约会是   如果每个参数都已正确定义,则视为有效。