我在某个网站上有工作代码。我正在改变网站的设计和一些功能,所以当我复制粘贴Jquery时。它引发了我的错误。我确定了一些问题,但无法得到之前的开发人员在这里尝试做的事情:
if (dateFormat=='european'){
dateofbirthString = /^([3][0-1]|[1-2][0-9]|[0][1-9]|[1-9])([-])([1][0-2]|[0][1-9]|[1-9])([-])([1][9][0-9][0-9]|[2][0][0-1][0-9])$/;
}
if (dateFormat=='american'){
dateofbirthString = /^([1][0-2]|[0][1-9]|[1-9])([-])([3][0-1]|[1-2][0-9]|[0][1-9]|[1-9])([-])([1][9][0-9][0-9]|[2][0][0-1][0-9])$/;
}
if (dob.match(dateofbirthString)){}
根据我的理解,他试图将其转换为选定的特定日期格式。
但是现在我在上遇到错误if(dob.match(dateofbirthString)即 .match不是函数。我已经尝试将值转换为字符串然后使用此代码,但其输出为空。
请帮助我使用它来使其正常工作。
答案 0 :(得分:1)
你应该做
var dob = '11-11-1990';
dateofbirthString.test(dob); // true for america
而不是
var dob = '11-11-1990';
dob.match(dateofbirthString) // ["11-11-1990", "11", "-", "11", "-", "1990", index: 0, input: "11-11-1990"]
你的代码中的 dob应该是一个字符串。如果它根据正则表达式(dateofbirthString)无效,则返回null
。如果dob是有效的日期格式,则返回如上所示的数组
答案 1 :(得分:-1)
var dateofbirthString = /^([1][0-2]|[0][1-9]|[1-9])([-])([3][0-1]|[1-2][0-9]|[0][1-9]|[1-9])([-])([1][9][0-9][0-9]|[2][0][0-1][0-9])$/;
var dob = "07-14-1995"; //MM-dd-yyyy
console.log(dob.match(dateofbirthString));
// match is found return the result as ["07-14-1995", "07", "-", "14", "-", "1995"] otherwise return null