我正在尝试将输入字段匹配为MM / dd / yyyy,MM-dd-yyyy或MMddyyyy。
我是正则表达式的初学者,但我写了以下内容:
/^[0-9][0-9][\-\/0-9][0-9][0-9][\-\/0-9][0-9][0-9]([0-9][0-9])/
这匹配MM / dd / yyyy和MM-dd-yyyy但不匹配MMddyyyy。它也会连续匹配我不想要的10个数字。非常感谢帮助。
答案 0 :(得分:1)
所以这段代码可以满足我的需要,但不会检查它是否是实际日期。例如,2月31日将被接受。
/^([0-9]{2}[-/][0-9]{2}[-/][0-9]{4})|([0-9]{8})/
答案 1 :(得分:1)
使用以下ng-pattern匹配MM / DD / YYYY.Which还将验证闰年....
ng-pattern='/^((0[13578]|1[02])[\/.]31[\/.](18|19|20)[0-9]{2})|((01|0[3-9]|1[1-2])[\/.](29|30)[\/.](18|19|20)[0-9]{2})|((0[1-9]|1[0-2])[\/.](0[1-9]|1[0-9]|2[0-8])[\/.](18|19|20)[0-9]{2})|((02)[\/.]29[\/.](((18|19|20)(04|08|[2468][048]|[13579][26]))|2000))$/
答案 2 :(得分:0)
使用以下ng-pattern
匹配MM/DD/YYYY
。
<md-datepicker flex
id="start"
label="start"
name="start"
ng-model="vm.start"
md-placeholder="Start Date"
ng-pattern="^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(19|20)\d{2}$"
required>
</md-datepicker>
答案 3 :(得分:0)
在我的项目中使用这个正则表达式,我发现了一个日期为10/29 / YYYY和10/30 / YYYY的小错误。现在纠正它对我来说非常合适。正确的表达方式是:
ng-pattern='/^((0[13578]|1[02])[\/.](29|30|31)[\/.](18|19|20)[0-9]{2})|((01|0[3-9]|1[1-2])[\/.](29|30)[\/.](18|19|20)[0-9]{2})|((0[1-9]|1[0-2])[\/.](0[1-9]|1[0-9]|2[0-8])[\/.](18|19|20)[0-9]{2})|((02)[\/.]29[\/.](((18|19|20)(04|08|[2468][048]|[13579][26]))|2000))$/'>