-3

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

我能否得到以下示例,作为正则表达式

值必须等于:

nn-nn-nnnn
nn/nn/nnnn

其中 n = 整数。

4

4 回答 4

1

试试这个

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

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

及其工作正常

于 2012-10-16T13:30:44.007 回答
1

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

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

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

如果您对 ISO 8601 不满意,您可以将正则表达式中的元素调整为例如月-日-年。但随后您将面临 Kolink 提到的问题。输入的值真的是月-日-年还是日-月-年?(如果您对日期和月份使用单独的表单输入字段,这不一定是问题。)

于 2012-10-16T13:48:33.733 回答
0

正则表达式中的“整数”是\d,对于某个数字,您可以用 来量化{x},x 是您想要的数字。对于允许使用什么符号的选项,[...]用于列出有效字符。请记住,-除非它是括号内的第一个或最后一个字符,否则它在那里具有特殊含义。剩下的就看你了,但是...

您怎么知道 04-03-2012 的实际含义?4月3日还是3月4日?

于 2012-10-16T13:22:15.807 回答
0

看看检查日期

检查参数形成的日期的有效性。如果正确定义了每个参数,则日期被认为是有效的。

于 2012-10-16T14:04:46.593 回答