gpt4 book ai didi

jquery - 尽管格式正确,但日期与 RegExp 不匹配

转载 作者:行者123 更新时间:2023-12-03 23:05:33 24 4
gpt4 key购买 nike

我在使用正则表达式和 jquery 格式化日期输入时遇到了问题。我设法将范围缩小到这个测试代码:

function formatDate() {
var regEx = /^(0[1-9]|1[012])[\/](0[1-9]|[12][0-9]|3[01])[\/](19|20)\d\d$/;
var test = "02/20/1901";
var obj = $('.format');
var febRexEx = /^(02)[\/](3[01])[\/](19|20)\d\d$/;
if (test == regEx) {
alert("Matches Regular Expression 1.");
if (test == febRexEx) {
alert("Bad date!\nMatches Regular Expression 2!");
} else {
alert("Not a bad date.\nDoesn't match Regular Expression 2.");
}
} else {
alert("Bad date!\nDoesn't match Regular Expression 1!");
}
}

我认为测试日期应该与第一个正则表达式匹配,但代码告诉我事实并非如此 - 我得到错误的日期!与正则表达式 1 不匹配! 警报消息。为什么会发生这种情况?如何解决?

最佳答案

您不能直接将字符串与正则表达式进行比较,请使用类似 match 的内容

  function formatDate() {
var regEx = /^(0[1-9]|1[012])[\/](0[1-9]|[12][0-9]|3[01])[\/](19|20)\d\d$/;
var test = "02/20/1901";
var obj = $('.format');
var febRexEx = /^(02)[\/](3[01])[\/](19|20)\d\d$/;
if (test.match(regEx)) {
alert("Matches Regular Expression 1.");
if (test.match(febRexEx)) {
alert("Bad date!\nMatches Regular Expression 2!");
} else {
alert("Not a bad date.\nDoesn't match Regular Expression 2.");
}
} else {
alert("Bad date!\nDoesn't match Regular Expression 1!");
}
}

FIDDLE

关于jquery - 尽管格式正确,但日期与 RegExp 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791082/

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