使用 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 的三个字母缩写