可以用javascript的正则表达式判断呀

解决方案 »

  1.   

    import java.text.ParseException;public class Test {
        /**
         * 是否有效的日期
         *
         * @param dateStr
         * @param pattern
         * @return
         */
        public static boolean isValidDate(String dateStr, String pattern) {
            java.text.SimpleDateFormat df = new java.text.SimpleDateFormat(pattern);
            try {
                df.setLenient(false);
                df.parse(dateStr);
                return true;
            } catch (ParseException e) {
                return false;        }
        }    public static void main(String[] args) throws Exception {
            System.out.println("19810331 is valid? " + isValidDate("19810331", "yyyyMMdd"));
            System.out.println("19810332 is valid? " + isValidDate("19810332", "yyyyMMdd"));
        }
    }
      

  2.   

    在Javascript里用正则式判断..var patrn=/^[0-9]{4}[0-9]{2}[0-9]{2}$/;
    if(patrn.exec(document.adduserForm.username.value)){
       alert("不是日期型!");
    }"-"我不知道怎么判断..
      

  3.   

    看我的超级easy的解决方法......
    <input type="text" onblur="isDateString(this)">
    <script language="javascript">
    function isDateString(obj)
    {
        
        var sDate;
        sDate = obj.value;
        if (sDate!="")
        { 
            var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
            var iaDate = new Array(3)
            var year, month, day 
            if (arguments.length != 1) return false
            iaDate = sDate.toString().split("-")
            if (iaDate.length != 3) 
            {
                alert("日期填写格式错误!");
                obj.value = "";
                obj.focus();
                return false;
            }
            if (iaDate[1].length > 2 || iaDate[2].length > 2)
            {
                alert("日期填写格式错误!");
                obj.value = "";
                obj.focus();
                return false;
            }
            year = parseFloat(iaDate[0])
            month = parseFloat(iaDate[1])
            day=parseFloat(iaDate[2])
            if (year < 1900 || year > 2100) 
            {
                alert("日期填写格式错误!");
                obj.value = "";
                obj.focus();
                return false;
            }
            if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
            if (month < 1 || month > 12)
            {
                alert("日期填写格式错误!");
                obj.value = "";
                obj.focus();
                return false;
            }
            if (day < 1 || day > iaMonthDays[month - 1])
            {
                alert("日期填写格式错误!");
                obj.value = "";
                obj.focus();
                return false;
            }
        } 
    }
    </script>
    够easy吧?^_^