Javascript日期掩码(无JQuery)

Javascript date mask (No JQuery)

本文关键字:JQuery 日期 掩码 Javascript      更新时间:2023-09-26

我想在ASP.net文本框上应用日期蒙版(dd/mm/yyyy)

我尝试了许多javascript的解决方案,从谷歌搜索,不幸的是没有工作正常,特别是当退格。

谁能给我一个脚本?

    <asp:TextBox ID="txtDate2" runat="server" Text="11/11/2011" />
    <asp:CustomValidator runat="server" ClientValidationFunction="ValidateDate" ControlToValidate="txtDate2"
    ErrorMessage="Invalid Date." ValidationGroup="Group2" />
<br />
<br />
<asp:Button ID="Button2" Text="Validate" runat="server" ValidationGroup="Group2" />
<script type="text/javascript">
    function ValidateDate(sender, args) {
        var dateString = document.getElementById(sender.controltovalidate).value;
        var regex = /(((0|1)[1-9]|2[0-9]|3[0-1])'/(0[1-9]|1[0-2])'/((19|20)'d'd))$/;
        if (regex.test(dateString)) {
            var parts = dateString.split("/");
            var dt = new Date(parts[1] + "/" + parts[0] + "/" + parts[2]);
            args.IsValid = (dt.getDate() == parts[0] && dt.getMonth() + 1 == parts[1] && dt.getFullYear() == parts[2]);
        } else {
            args.IsValid = false;
        }
    }
</script>