当前位置: 首页 > 面试题库 >

AngularJS:如何验证美国格式的日期?

杨景山
2023-03-14
问题内容

我有以下允许使用AngularUI输入日期的表单代码(日期为必填,并且应与美国日期格式匹配,例如:MM / DD / YY):

<form name="form" ng-submit="createShipment()">
    <!-- Shipment Date must be in MM/DD/YY format: -->  
    <input name="shipmentDate" 
          ng-pattern='/^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$/'
          ui-date="{ dateFormat: 'mm/dd/y' }" required ng-model="shipment.ShipmentDate" type="text">
    <span ng-show="form.shipmentDate.$error.required">Date Required!</span>
    <span ng-show="form.shipmentDate.$error.pattern">Incorrect Format, should be MM/DD/YY!</span>

    <input class="btn-primary" ng-hide="!form.$valid" type="submit" value="Create">
</form>

必填 字段的验证工作正常,但日期格式未正确验证,并且始终显示 “格式不正确…” 消息。

我尝试了几种不同的正则html" target="_blank">表达式,这些规则表达式在其他地方都可以正常使用,但仍然无法正常工作。我也尝试了AngularUI验证,它也不起作用。提前致谢!

更新:

我认为验证与我使用的AngularUI
datepicker冲突,但是datepicker仍会自动更正日期,因此,如果不使用datepicker,则只要正则表达式有效,验证就可以工作;如果使用datepicker,则不需要其他验证。


问题答案:

接受的答案对我不起作用。我改为:

^(0?[1-9]|1[012])\/(0?[1-9]|[12][0-9]|3[01])\/((19\d{2})|([2-9]\d{3}))$

否则,只有1990年以后出生的人才需要申请!



 类似资料:
  • 问题内容: 我正在使用bootstrap-datetimepicker和ISO8601 datetime格式,如其选项部分所述 在我的控制器中 它以(console.log)将数据发送到后端 并保存为数据库 在我的模板中 我在HTML上看到的输出为 但是根据Angular doc,它应该用于格式 我想念的是什么? 问题答案: 现在,我已经创建了一个过滤器 作为依赖项添加为 并用作 并将日期显示为

  • 如何使用threeten BP验证自定义格式的日期,如31/02/1985?

  • 本文向大家介绍使用Java Regex验证日期格式,包括了使用Java Regex验证日期格式的使用技巧和注意事项,需要的朋友参考一下 下面的示例演示如何使用String类的matchs方法检查日期是否为正确的格式。 示例 结果 上面的代码示例将产生以下结果。 以下是检查日期是否为正确格式的示例。 示例 结果 上面的代码示例将产生以下结果。

  • 问题内容: 我正在尝试测试以确保某个日期有效(如果有人输入则应该是错误的)。 我如何在任何日期都可以这样做? 问题答案: 验证日期字符串的一种简单方法是将其转换为日期对象并进行测试,例如 以这种方式测试日期时,仅需要测试月份,因为如果日期超出范围,则月份会更改。如果月份超出范围,则相同。任何年份均有效。 您还可以测试日期字符串的位:

  • 问题内容: 我需要使用正则表达式验证格式的日期字符串。 此正则表达式验证,但无效日期无效,例如: 什么是在年支持下验证格式的有效正则表达式? 问题答案: 您粘贴的正则表达式无法正确验证leap年,但同一篇文章中有。我修改了它采取,或。 我在Arun在他的答案 以及此处提供的链接中对其进行了一些测试,它似乎有效。 编辑2019年2月14日:我删除了正则表达式中的逗号,该逗号允许日期如下 29-0,-

  • 以下是日期格式模式中使用的字符。 编号 字母 描述 1 G 用于显示时代。 2 y 显示年份。 有效值为:,。 3 M 显示月份。 有效值为:,或。 4 d 显示月份中的第几天。 有效值为:,。 5 h 显示一天中的小时(1-12 AM/PM)。 有效值为:。 6 H 显示一天中的小时(0-23)。 有效值为:。 7 m 显示分钟(0-59)。 有效值为:。 8 s 显示秒钟(0-59)。 有效值