微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript验证英国日期

如何解决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 举报,一经查实,本站将立刻删除。