gpt4 book ai didi

javascript - 日期的正则表达式?

转载 作者:行者123 更新时间:2023-11-30 10:35:43 25 4
gpt4 key购买 nike

我正在尝试找到一种最佳方法来测试字符串是否符合当前标准。基本上,我有一个这样的约会:

1/17/2013  12:00 AM

月份和日期字段可以是一位或两位数,而年份始终为四位。小时可以是一位或两位数。分钟字段始终为两位数 例如,这也适用:

 10/1/2013  1:00 AM

现在,我有这个正则表达式,但它似乎不起作用:

/^(0[1-9]|1[0-2])\/(0[1-9]|[1-2][0-9]|3[0-1])\/(20[1-9][2-9]) (0[1-9]|1[0-2]):([0-5][0-9]) (am|pm)$/

我是这样使用它的:

 $('input[name=targetMe]').each( function() {
alert('start')
if(/^(0[1-9]|1[0-2])\/(0[1-9]|[1-2][0-9]|3[0-1])\/(20[1-9][2-9]) (0[1-9]|1[0-2]):([0-5][0-9]) (AM|PM)$/.test($(this).val())) {
alert('passes')
} else {
alert('dont')
}
});

我当前的正则表达式是否有问题,或者我应该以其他方式使用它,还是有比这更好的解决方案?

最佳答案

我相信你可以在 Javascript 中使用 parse 方法:

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/parse

所以它会是这样的:

$('input[name=targetMe]').each( function() {
alert('start')
if(Date.parse($(this).val())) {
alert('passes')
} else {
alert('dont')
}
});

关于javascript - 日期的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14139226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com