新足迹

 找回密码
 注册

精华好帖回顾

· 我的第一次“自虐”体验 (2009-12-11) kimi · 【那一年圣诞。。。。。。。。我在北欧】图文全纪录 (2008-12-4) 慕思
· 关于房价的思考和疑惑 (2009-8-16) patricb · E&E -- 酱鸭 (2009-2-6) 闲夏采薇
Advertisement
Advertisement
查看: 1459|回复: 7

javascript , isdate [复制链接]

头像被屏蔽

禁止访问

发表于 2011-4-4 17:45 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
哪位大侠给个好的ISDATE function?? 非常谢谢的说
Advertisement
Advertisement
头像被屏蔽

禁止访问

发表于 2011-4-4 18:01 |显示全部楼层

这个貌似不错。

此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
//////////////////////// To validate date ////////////////////////////////////////////////////////////////////
        var dtCh = "/";
        var minYear = 1900;
        var maxYear = 2100;

        function isInteger(s) {
            var i;
            for (i = 0; i < s.length; i++) {
                // Check that current character is number.
                var c = s.charAt(i);
                if (((c < "0") || (c > "9"))) return false;
            }
            // All characters are numbers.
            return true;
        }

        function stripCharsInBag(s, bag) {
            var i;
            var returnString = "";
            // Search through string's characters one by one.
            // If character is not in bag, append to returnString.
            for (i = 0; i < s.length; i++) {
                var c = s.charAt(i);
                if (bag.indexOf(c) == -1) returnString += c;
            }
            return returnString;
        }

        function daysInFebruary(year) {
            // February has 29 days in any year evenly divisible by four,
            // EXCEPT for centurial years which are not also divisible by 400.
            return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28);
        }
        function DaysArray(n) {
            for (var i = 1; i <= n; i++) {
                this = 31
                if (i == 4 || i == 6 || i == 9 || i == 11) { this = 30 }
                if (i == 2) { this = 29 }
            }
            return this
        }

        function isDate(dtStr) {
            var daysInMonth = DaysArray(12)
            var pos1 = dtStr.indexOf(dtCh)
            var pos2 = dtStr.indexOf(dtCh, pos1 + 1)
            var strDay = dtStr.substring(0, pos1)
            var strMonth = dtStr.substring(pos1 + 1, pos2)
            var strYear = dtStr.substring(pos2 + 1)
            strYr = strYear
            if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1)
            if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1)
            for (var i = 1; i <= 3; i++) {
                if (strYr.charAt(0) == "0" && strYr.length > 1) strYr = strYr.substring(1)
            }
            month = parseInt(strMonth)
            day = parseInt(strDay)
            year = parseInt(strYr)
            if (pos1 == -1 || pos2 == -1) {
                alert("The date format should be : dd/mm/yyyy")
                return false
            }
            if (strMonth.length < 1 || month < 1 || month > 12) {
                alert("Please enter a valid month")
                return false
            }
            if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]) {
                alert("Please enter a valid day")
                return false
            }
            if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {
                alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear)
                return false
            }
            if (dtStr.indexOf(dtCh, pos2 + 1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false) {
                alert("Please enter a valid date")
                return false
            }
            return true
        }
        ////////////////////////////////////////////////////////////////////////////////

http://www.smartwebby.com/DHTML/date_validation.asp

发表于 2011-4-4 18:32 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果你自己这个不好用的话,告诉我,我让原来的同事把原来写的东西给我拿过来,现在自己没留底。

评分

参与人数 1积分 +2 收起 理由
atransformer + 2 你个那个版本,回头给我啊

查看全部评分

头像被屏蔽

禁止访问

发表于 2011-4-4 18:36 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-4-4 17:32 发表
如果你自己这个不好用的话,告诉我,我让原来的同事把原来写的东西给我拿过来,现在自己没留底。


经我测试,还行。

你个那个版本,回头给我啊,

发表于 2011-4-4 18:43 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 atransformer 于 2011-4-4 17:36 发表


经我测试,还行。

你个那个版本,回头给我啊,


no prob, 明天,不知道现在有没有live的东西你可以参考,都是campaign,到时候他们都关了,让我明天问问再说。

发表于 2011-4-4 18:56 |显示全部楼层
此文章由 明月星光 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 明月星光 所有!转贴必须注明作者、出处和本声明,并保持内容完整

评分

参与人数 2积分 +5 收起 理由
atransformer + 2 这个太牛了!!!!!!!!!
o2h2o + 3 this one is very cool

查看全部评分

Advertisement
Advertisement
头像被屏蔽

禁止访问

发表于 2011-4-5 00:06 |显示全部楼层
此文章由 atransformer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 atransformer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 明月星光 于 2011-4-4 17:56 发表
http://www.datejs.com/


靠,这个太牛了!!!!!!!!!

发表于 2011-4-5 13:11 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
just confirmed.

They don't have active campaigns with my js ATM, if u find it OK to use your current solution, we r fine for now.

I'll keep u updated if they release my desired one.

评分

参与人数 1积分 +2 收起 理由
atransformer + 2 谢谢

查看全部评分

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部