使用 3 个字母缩写和数字验证日期?

Posted

技术标签:

【中文标题】使用 3 个字母缩写和数字验证日期?【英文标题】:Validate date with 3 letter abbreviation and numbers? 【发布时间】:2014-05-28 13:12:20 【问题描述】:

我尝试过搜索,但似乎找不到符合我标准的问题。

我是 jQuery 新手,我被要求创建一个带有 datepicker 模块的站点。

我使用了标准的 jQuery,并对其进行了相应的定制,但是除了使用 Datepicker 用户输入之外,也是一种选择。

我必须确保用户输入遵循 DD/MM/YYYY 或 DD/JAN/YYYY(使用三个字母缩写)。

我在想这可能是一个正则表达式的工作,但我还不熟悉它,在网上找不到符合我需要的表达式。

正则表达式是最好的方法吗?如果是这样,任何人都可以为我提供进一步的见解吗?

非常感谢。

【问题讨论】:

是的,正则表达式是唯一的方法。您可以根据需要使验证变得复杂或愚蠢 【参考方案1】:

我不是正则表达式专家,但在阅读有关此主题的其他帖子时,我尝试制作此表达式来验证格式为 DD/MM/YYY 或 DD/JAN .../YY 和 1970 年之间的日期 - 2019.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!--DD/MM/YYYY or DD/JAN/YYYY 1970-2019:-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
    $('#cli').click(function()
    var str=$('#field').val()
    if(str.match(/^(0[1-9]|[12][0-9]|3[01])\/((0[1-9]|1[012])|(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))\/(19[789]\d|20[01]\d)$/))
        alert('yes')
        elsealert('no')
    )
)
</script>
<input name="" type="text" id="field">
<input name="" type="button" id="cli" value="Test">
</body>
</html>

如果您在 Web 浏览器中试用此文档并在文本字段中输入日期,当您单击按钮时,日期将得到验证 重复一遍:我不是专家,我鼓励您测试此解决方案 如果此解决方案不适合您的需求,我很抱歉让您浪费时间。

【讨论】:

以上是关于使用 3 个字母缩写和数字验证日期?的主要内容,如果未能解决你的问题,请参考以下文章

NSDateFormatter 无法解析德语月份 March/June/Jul 的三个字母缩写

js如何正则验证密码

PHP 验证必须是 字母+数字 混合的怎么写?

jQuery 验证中的正则表达式 - 需要 5 个数字和 1 个字母的数字(字母不区分大小写)

验证具有前两位数字和一个字母的字段

如何验证密码是不是包含 X 大写字母和 Y 数字?