ng-pattern验证angularjs中的dd / mm / yy格式日期

时间:2015-11-12 09:51:28

标签: angularjs regex date pattern-matching

我有一个日期选择器,以dd / mm / yy格式接受日期,有人可以说一下正则表达式应该放在ng-pattern中以匹配相同的 日期将仅包含/不包含其他特殊字符 例如:二〇一五年十二月十二日

6 个答案:

答案 0 :(得分:1)

regex for that would be ng-pattern="/\d\d/\d\d/\d\d\d\d/"

答案 1 :(得分:1)

正则表达式将是

/^(((0[1-9]|[12]\d|3[01])-(0[13578]|1[02])-((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)-(0[13456789]|1[012])-((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])-02-((19|[2-9]\d)\d{2}))|(29-02-((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/

这对闰年也有效。要在您的应用程序中使用它,您可以将其与ng-pattern内联使用或将其用作

$scope.pattern = new RegExp(PatternAsString);

<input ng-model="foo" ng-pattern="pattern">

答案 2 :(得分:1)

使用以下模式。它只验证日期格式&#34; yyyy / MM / dd&#34;。

ng-pattern = ^[0-9]{4}[\/][0-9]{2}[\/][0-9]{2}$

答案 3 :(得分:0)

此模式正确且工作正常。

number (int)  | time_stamp (datetime2)
--------------------------
50            | '2017-08-01 01:01:01'
70            | '2017-08-01 01:01:02'
80            | '2017-08-01 01:01:03'
102           | '2017-08-01 01:01:04'
100           | '2017-08-01 01:01:05'
140           | '2017-08-01 01:01:06'
200           | '2017-08-01 01:01:07'
50            | '2017-08-01 01:01:08'
300           | '2017-08-01 01:01:09'
400           | '2017-08-01 01:01:10'

答案 4 :(得分:0)

正则表达式是

ng-pattern="/^(31[ \/ ](0[13578]|1[02])[ \/ ](18|19|20)[0-9]{2})|((29|30)[\/](01|0[3-9]|1[1-2])[\/](18|19|20)[0-9]{2})|((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[0-2])[\/](18|19|20)[0-9]{2})|(29[\/](02)[\/](((18|19|20)(04|08|[2468][048]|[13579][26]))|2000))$/"

这也将照顾闰年。 格式为DD / MM / YYYY

答案 5 :(得分:0)

@ivarni 您的条件不适用于29 / oct或30 / oct 您的月度验证需要进行更正。

我们所拥有的:(01 | 0 [3-9] | 1 [1-2]) 已更正:(01 | 0 [3-9] | 1 [0-2])