如何解决javascript验证英国日期
| 我正在尝试使用我在网上找到的函数来验证格式为dd / mm / yyyy的日期,但出现此错误:\'输入为空\' 谁能告诉我我的语法哪里错误?if (validateDate($(\"#<%=StartDate.ClientID%>\")) == false) {
alert(\"not date\");
}
else {
alert(\"date\");
}
function validateDate(dtControl) {
var input = document.getElementById(dtControl)
var validformat = /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/ //Basic check for format validity
var returnval = false
if (!validformat.test(input.value))
alert(\'Invalid Date Format. Please correct.\')
else { //Detailed check for valid date ranges
var dayfield = input.value.split(\"/\")[0]
var monthfield = input.value.split(\"/\")[1]
var yearfield = input.value.split(\"/\")[2]
var dayobj = new Date(yearfield,monthfield - 1,dayfield)
if ((dayobj.getMonth() + 1 != monthfield) || (dayobj.getDate() != dayfield) || (dayobj.getFullYear() != yearfield))
alert(\'Invalid Day,Month,or Year range detected. Please correct.\')
else {
returnval = true
}
}
if (returnval == false) input.focus()
return returnval
}
解决方法
您正在将jQuery对象输入validateDate函数中,当它带有字符串ID时。尝试将对象的ID输入到函数中。另外,DOM对象的值在函数内部使用,因此请确保其中包含日期:
if (validateDate(\"<%=StartDate.ClientID%>\") === false) {
alert(\"not date\");
} else {
alert(\"date\");
}
这是显示该代码工作版本的示例:http://jsfiddle.net/7WJYF/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。