如何使用javascript在文本字段中允许日期格式(DD-MM-YYYY)

问题描述 投票:0回答:1

字段是输入文本而不是日期字段,它应该只允许 DD-MM-YYYY 格式。 DD(1 至 31)、MM(1-12)和 YYYY(0001-9999)。每个数据字符只能允许“-”。

第 1 步:输入的前两个字符应允许两位数字,并且根据当前年份和月份,限制应为 1 至 28/29/30/31。 第 2 步:第 1 步输入后应允许一位数字特殊字符,并且仅允许“-”字符。 第 3 步:经过 2 步输入后,应允许输入两位数字,且限制为 1 至 12 个数字。 第 4 步:经过 3 步输入后,应允许一位数字特殊字符,并且仅允许“-”字符 第 5 步:第 4 步后输入应允许四位数字,限制应为 0001 至 9999。 步骤 6 : 不应超过 10 位数字。

使用JavaScript需要达到上述要求。

<form id="" name="">
  <input type="text" oninput="if (!/^(?:1[0-2]|[1-9])$/.test(this.value)) { this.value = '' }" />
</form>

上面的代码我正在尝试执行,但无法根据要求进行设置。

javascript date validation text pattern-matching
1个回答
0
投票

您可以使用 JavaScript 和正则表达式来检查文本字段中的输入是否与

DD-MM-YYYY
格式匹配。这是一个简单的方法:

  1. 向文本字段添加输入事件监听器。
  2. 根据正则表达式检查值。
  3. 如果格式无效,则显示错误或清除输入(或采取任何其他所需的操作)。

示例代码:

HTML:


<input type="text" id="dateField" placeholder="Enter date (DD-MM-YYYY)">
<p id="errorMsg" style="color: red;"></p>

JavaScript:

<input type="text" id="dateField" placeholder="Enter date (DD-MM-YYYY)">
<p id="errorMsg" style="color: red;"></p>

额外评论:您可能还想研究一下 JavaScript 库,它们也可以帮助您做到这一点。例如Moment.js、js-Joda、chrona-node 等

© www.soinside.com 2019 - 2024. All rights reserved.