使用正则表达式进行日期验证
Date validation with regular expression
我正在尝试构建一个正则表达式,该表达式检查日期是否为以下格式(11-2-07、1-25-2007或01/25/2007)。我的正则表达式如下:
/^(['d{2}'d{1}])(['-'/])(['d{2}'d{1}])('-'/)(['d{2}'d{4}])$/
当我以所需格式在日期中输入日期时,方法test()实际上返回false。你能帮我找出错误吗?
试试这个:
var re = /^([0123]?['d])(['-'/])([0123]?['d])(['-'/])((19|20)?'d'd)$/;
- 第一组和第三组匹配只能从
0
、1
、2
或3
开始的日期和月份。如果您知道确切的日期格式,您可以将3
从月组中删除,或者将(0?[1-9]|1[012])
用于月组,将(0?[1-9]|[12][0-9]|3[01])
用于日组 - 第二组和第四组匹配连字符和斜杠分隔符
- 最后一组匹配从
19
或20
开始的年份
var re = /^([0123]?['d])(['-'/])([0123]?['d])(['-'/])((19|20)?'d'd)$/;
console.log('01-02-1999', re.test('01-02-1999'));
console.log('01/02/1999', re.test('01/02/1999'));
console.log('41-02-1999', re.test('41-02-1999'));
console.log('01/42/1999', re.test('01/42/1999'));
-
您可以使用
'd{1,2}
选择1或2位数字。 -
最后一个hypen/正斜杠组中缺少方括号。
-
最后一组应该是
('d{2}|'d{4})
。 -
无需转义字符类中的正斜杠。
/^('d{1,2})(['-/])('d{1,2})(['-/])('d{2}|'d{4})$/
相关文章:
- 两位数的月份日期验证
- MVC3使用globalize库脚本进行日期验证
- AngularJs日期验证;我不适用于IE和Mozilla
- 日期验证参数
- Javascript - 需要日期验证 IF 语句
- angularjs提交表单中的开始日期结束日期验证应被禁用
- JavaScript日期验证RegEx或JS
- HTML5日期验证
- 使用弹出窗口进行动态日期验证
- 基于客户端日期格式的Javascript日期验证
- 使用MaskedEditExtender进行日期验证
- 如何在日期选择器中给出出生日期验证
- 日期验证失败,因为我猜是日期格式
- 文本框日期验证 mm/dd/yyyy classic asp , JavaScript.
- 从当前日期到 3 年之前的 Javascript 日期验证
- asp 文本框控件上的必填字段验证和当前日期验证
- 在 javascript 中对月份进行日期验证
- 使用 JavaScript 进行日期验证
- 日期验证日期选取器
- J查询无效日期的日期验证