javascript 中的 MM/DD/YYYY HH:MM:SS AM/PM 日期验证正则表达式

2023-12-01

我正在尝试在 JavaScript 中验证 MM/DD/YYYY HH:MM:SS AM/PM 格式的日期。我无法找到任何好的答案,尝试了其他结果但没有成功。在以下问题中,asp.net 已提出此问题,但 javascript 未提出此问题:

asp.net 正则表达式验证器中日期时间格式“MM/DD/YY HH:mm:ss AM/PM”的正则表达式

但并没有帮助我。 我需要检查的示例日期是 2012 年 5 月 13 日 12:00:00 上午

我正在验证 csv 文件中的数据单元格。这些单元格也有一些采用上述格式的日期。我正在检查这些细胞的标签。像日期、字符串等。我是新手,因此不知道如何自己创建它们。


在 JavaScript 中使用正则表达式进行日期验证。

下面的表达式验证 01-01-1900 00:00:00 AM 之间的任何日期。

日期格式:毫米[/.-]dd[/.-]yyyy hh:mm:ss 上午|下午

var r = /^(((0[13578]|1[02])[\/\.-](0[1-9]|[12]\d|3[01])[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((0[13456789]|1[012])[\/\.-](0[1-9]|[12]\d|30)[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((02)[\/\.-](0[1-9]|1\d|2[0-8])[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((02)[\/\.-](29)[\/\.-]((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm)))$/g;

r.test('06/12/2014 12:45:56 AM'); // true
r.test('11-12-1965 06:04:34 PM'); // true
r.test('11/31/2015 11:40:00 AM'); // false
r.test('12-31-1945 01:38:09 PM'); // true
r.test('02/29/2012 09:04:10 AM'); // true [leap year]
r.test('02/29/2013 09:04:10 AM'); // false
r.test('06.12.2014 13:04:10 AM'); // false

日期格式:dd[/.-]mm[/.-]yyyy 时:分:秒 上午|下午

var r = /^(((0[1-9]|[12]\d|3[01])[\/\.-](0[13578]|1[02])[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((0[1-9]|[12]\d|30)[\/\.-](0[13456789]|1[012])[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((0[1-9]|1\d|2[0-8])[\/\.-](02)[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((29)[\/\.-](02)[\/\.-]((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm)))$/g;

r.test('12/06/2014 12:45:56 AM'); // true
r.test('12-11-1965 06:04:34 PM'); // true
r.test('31/11/2015 11:40:00 AM'); // false
r.test('21-12-1945 01:38:09 PM'); // true
r.test('29/02/2012 09:04:10 AM'); // true [leap year]
r.test('29/02/2013 09:04:10 AM'); // false
r.test('12.06.2014 13:04:10 AM'); // false

日期格式:日[/.-]毫米[/.-]年 时:分:秒

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

r.test('24/06/2014 15:08:05'); // true
r.test('29/02/2016 23:19:20'); // true [leap year]
r.test('29/02/2015 23:19:20'); // false
r.test('31/11/2010 10:00:02'); // false

日期格式:yyyy[/.-]mm[/.-]dd 时:分:秒

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

r.test('2014-06-24 15:49:05'); // true
r.test('2016-02-29 23:19:20'); // true [leap year]
r.test('2015/02/29 23:19:20'); // false
r.test('2010.11.31 10:00:02'); // false
r.test('1956.10.12 24:10:02'); // false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript 中的 MM/DD/YYYY HH:MM:SS AM/PM 日期验证正则表达式 的相关文章

  • 将随机字符串转换为十六进制颜色

    我的应用程序中有一个操作日志表 我想根据该条目的 sessionID 为行分配随机颜色 以帮助查看模式 分组操作 到目前为止我有这个 console log stringToColorCode mj3bPTCbIAVoNr93me1I fu
  • 仅在大括号外的空格上分割字符串

    我是正则表达式新手 我需要一些帮助 我阅读了一些与此问题类似的主题 但我不知道如何解决它 我需要在不在一对大括号内的每个空格上分割一个字符串 大括号外的连续空格应被视为单个空格 TEST test test test test test t
  • 计算按月分隔的两个日期之间的天数

    我需要计算两个日期之间的天数 DateTime 但有一个转折 我想知道这两天跨越的每个月有多少天 两个人有简单的方法吗 Example 我的开始日期是 30 03 2011 结束日期是 05 04 2011 那么结果应该是这样的 var r
  • Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Headers

    我试图通过发布请求将文件发送到我的服务器 但是当它发送时会导致错误 Access Control Allow Headers 不允许请求标头字段 Content Type 所以我用谷歌搜索了错误并添加了标题 http post rootSc
  • 如何将日期字符串解析为Date? [复制]

    这个问题在这里已经有答案了 如何将下面的日期字符串解析为Date object String target Thu Sep 28 20 29 30 JST 2000 DateFormat df new SimpleDateFormat E
  • React JS - 单击时更改颜色并将默认颜色放在所有其他颜色上

    我有 x 个渲染数文章预览依赖于 API 调用的组件 div div Object keys images map index i gt return div div
  • 使用 javascript 将 html 文本渲染为位图,无需服务器端代码

    我需要使用 javascript 代码来转换 html 中的文章 帖子 以便最终用户以位图的形式查看 有没有办法在没有服务器端代码的情况下做到这一点 example p testing text here p 您可以使用例如html2can
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 使用 jquery 通配符检查 cookie 名称

    我有一个生成动态 cookie 的表单 例如 webform 62 1234356 62 1234356 可以是任意数字 我需要使用一些通配符检查来检查名称以 webform 开头的 cookie 是否存在 下面不起作用 if cookie
  • mouseover 和 mouseout 事件在子进程上触发

    代码 div div div div 如果我将鼠标悬停在Navigation the Drop Downdiv 向下滑动 如果我将鼠标移开 它会向上滑动 问题是如果我将鼠标悬停在孩子上Drop Downdiv它也向上滑 动 有谁知道我该如何
  • 嵌套辅助函数和性能

    嵌套辅助函数对于使代码更易于理解非常有用 谷歌甚至建议在他们的应用程序中使用嵌套函数时尚指南 https google styleguide googlecode com svn trunk javascriptguide xml Nest
  • 这种 JavaScript 编码风格有什么问题? (闭包与原型)

    我们一直在讨论如何最好地处理我们的 JS 应用程序中的对象 研究 Stoyan Stefanov 的书 阅读无数关于 新 这个 原型 闭包等的 SO 帖子 事实上有很多 而且它们有这么多相互竞争的理论 表明没有完全明显的答案 让我们假设我们
  • 为什么 document.getelementbyId 在 Firefox 中不起作用?

    我不明白为什么 document getElementById 在 Firefox 中不起作用 document getElementById main style width 100 当我检查 Firebug 时 它说 类型错误 docu
  • 如何检查 Map 或 Set 是否为空?

    对于 JavaScript 中的传统对象 使用以下命令很容易检查它是否为空 Object keys method const emptyObj console log Object keys emptyObj length 0 true i
  • 通过多个回调优雅地传递“点击事件”

    当未登录的用户单击给定的按钮时 我想停止该事件 收集他的 oauth 收集他的电子邮件 如果我没有 然后执行该事件 我想用 javascript 来做所有事情 因为这会让事情变得更加简单 这就是我执行它的方式 我有两个问题 有没有更优雅的方
  • 限制 jQuery id 字符串吗?

    简而言之 我的问题是字符串在 jQuery 中作为可搜索 id 或可搜索内容有什么限制 更新 我得到了 ID 部分 但不是为什么我什至无法使用该字符串搜索 html 内容 对于任何愿意告诉我一个正则表达式来将模式从 MM dd yy HH
  • 文件名的正则表达式模式

    如果文件名符合以下条件 用户可以将文件放入服务器 它必须以 abc 开头 然后是一个点和一个数字 Valid file names abc 2344 abc 111 Invalid abcd 11 abc ab12 正则表达式是什么 我不能
  • Spring-roo REST JSON 控制器损坏日期字段

    我有一个以两种方式使用的数据实体 我在页面加载时用其中的一些数据填充表格 当您单击该列的一行时 我通过 AJAX 获取该项目的详细信息并将其显示在表单字段中 我在服务器端使用 Spring Roo 生成的 REST 端点 在客户端使用 Ba
  • javascript:window.print() 打印 2 页,而我有 1 页

    我有一个简单的 HTML 文档 其中仅包含图像标签 我想在文档加载后打印图像 我的代码 img src form1 jpg alt form1 style margin 0 auto display block 它可以工作 但问题是它打印图
  • 如何按字母顺序排序并先小写排序

    如何获得以下排序的结果Food to Eat然后是 食物123 显然 第二个较低的 o 应该将 要吃的食物 带到排序后的第一个项目中 我很惊讶这个问题不容易通过谷歌找到答案 这个壮举没有包含在 javascript 标准中也让我感到惊讶 F

随机推荐

  • 使用 char 指针输入与 char 数组输入

    考虑代码 include
  • npmpublish 的包名称与现有包太相似

    我想将我的包发布到 npm 我得到的错误是 包名称与现有包太相似 403 Forbidden PUT https registry npmjs org mypack Package name too similar to existing
  • ajax请求中的angularjs错误处理

    我想在我的应用程序中编写一个错误处理部分 我使用下面的代码 但是当错误 500 发生时 它可以正常工作 但是存在一个小或可能大的问题 这就是页面加载的第一次和几秒后的错误页面加载 如何才能我删除这几秒钟并直接进入错误页面而不加载释放错误的主
  • 如何使用多短语查询?

    http lucene apache org java 2 3 1 api core org apache lucene search MultiPhraseQuery html 对于 Microsoft app 这个例子 他说使用Inde
  • CSS 选择器中允许使用括号吗?

    在下面的示例中 我想创建一个仅适用于带有文本 Blockhead 的标题的 CSS 规则 div class gumby span class pokey span h3 Blockhead h3 h3 Clay rules h3 div
  • 如何获取嵌套fragment中的Activity?

    我试图在 ViewPager 中包含的片段中调用 getActivity 的活动 并且该 ViewPager 包含在 Fragment 中 我需要在这些片段中调用此活动的一些方法 但 getActivity 始终为此片段返回 NULL 我不
  • 实例字段的初始化与局部变量的初始化

    我一直想知道为什么在下面的例子中可以not初始化实例字段 依赖于它将具有默认值 并访问它 而局部变量显然must被初始化 即使我将其初始化为默认值 它无论如何都会得到 public class TestClass private bool
  • (!object) 和 (object == nil) 之间有区别吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C if obj 和 if obj null 哪个更好 这两个条件有区别吗 if object do something 和 if object nil do something
  • 在 MySQL 中的 accountID 之间转移“钱”

    我有一个问题 我尝试用谷歌搜索但尚未找到答案 我想做的是使用存储过程在 MySQL 中的两个帐户之间转账 例如 如果我使用呼叫转接 20 Test 3 5 然后我将从 accountID 3 转 20 美元到 accountID 5 并写入
  • 返回先前位置时如何避免 TDbgrid 滚动

    在下面的代码中 我们对某些选定的行进行一些操作 不是删除 然而 有时 完成后 顶部选定的行会滚动 使其显示在网格下方 1 2 处 有没有办法避免这种滚动 如果我的遍历下面选定行的代码由于某些不相关的原因不正确 我欢迎更正 Function
  • 里面有数字的叶子标记

    我想使用 Folium 在地图上做一些标记 并在标记内添加一些数字 我希望标记看起来像 Google 地图使用的标准倒置水滴形状 我看到对于 folium Marker 您可以使用参数 icon folium DivIcon html co
  • Codeigniter 查询生成器在 where_in 中使用 implode 函数

    这是我使用 implode 函数的正常 sql 查询 SELECT from search result WHERE skills IN implode s id 现在我想将其转换为 codeigniter 形式 我尝试了以下代码 但失败了
  • Unicode 组合字符的实际最大数量是多少?

    我正在寻找在非组合字符之后出现的 unicode 组合字符的最大数量在现实的自然文本中 我知道在 unicode 文本中 文本中的任何位置都可以放置任意数量的组合 但是 我正在编写一个专门的应用程序 该应用程序必须在资源有限的情况下运行 并
  • React - 从同级组件调用函数

    假设我有一个组件树 如下所示
  • 在基于 iframe 的文本编辑器中禁用 Firefox 和 Chrome 拼写检查

    有很多关于如何禁用 html 中的拼写检查的信息textarea元素通过使用spellcheck false 然而 要使文本区域具有更高级的功能 必须使用iframe with designMode on 参见例如这一页 这是在 GWT 中
  • 使用 C# 错误,可空对象必须具有值 datetime

    我在 C datetime 中遇到一个问题 我已经尝试了很多时间 它不是 给出问题的解决方案 所以给我一个解决方案 var accommodationcategoryList EmployeeAttendanceCacheMaster Ge
  • sprintf():作为参数的小数位数

    目前的解决方案是 dp lt 2 sprintf paste0 dp f 0 123 期望的解决方案没有 Paste0 并且类似于 sprintf 2 d f 0 123 2L 除了它有效之外 您可以使用 插入dp进入格式 dp lt 2
  • 使用“push”或“sub”x86 指令时,堆栈内存是如何分配的?

    我已经浏览了一段时间 我试图了解在执行以下操作时如何将内存分配给堆栈 push rax 或者移动堆栈指针为子例程的局部变量分配空间 sub rsp X Move stack pointer down by X bytes 我的理解是 堆栈段
  • 我可以信任 imageres.dll 系统图标索引吗?

    我制作了一个自定义目录树控件 它使用从中提取的系统图标imageres dll文件 我的意思是该文件是从 Windows 目录中读取的 因此根据 Windows 版本 该文件会有多个版本 下面是确切的 C 片段 ImageList Imag
  • javascript 中的 MM/DD/YYYY HH:MM:SS AM/PM 日期验证正则表达式

    我正在尝试在 JavaScript 中验证 MM DD YYYY HH MM SS AM PM 格式的日期 我无法找到任何好的答案 尝试了其他结果但没有成功 在以下问题中 asp net 已提出此问题 但 javascript 未提出此问题