校验时间输入(类似 18:25 am)function checktime(ctime)
{
if (ctime.length == 0) return true; var re=/^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])){0,2}\s?[aApP][mM])?$/;
return re.test(ctime);
}
{
if (ctime.length == 0) return true; var re=/^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])){0,2}\s?[aApP][mM])?$/;
return re.test(ctime);
}
{
//strValue 被检测的日期字符
strValue=new String(strValue);
var Reg;
var iDotPos,iYear,strRight,iMonth,iDay;
//日期的正则表达式,d(n)表示必须有n个数字,"|"表示或的关系,“\/"是转意符表示字符"/",
//以下字符的意思是符合2002/7/30 ,02/07/3.....等形式的字符表达式
Reg=/^(\d{2}|\d{4})\/(\d{1}|\d{2})\/(\d{1}|\d{2})$/;
if(Reg.test(strValue)) //检测是否匹配
{
iDotPos=strValue.search("\/");
iYear=strValue.substring(0,iDotPos); //读出年份
strRight=strValue.substring(iDotPos+1,strValue.length);
iDotPos=strRight.search("\/");
iMonth=strRight.substring(0,iDotPos); //读出月份
iDay=strRight.substring(iDotPos+1,strRight.length); //读出日
if(iMonth>12||iMonth==0)
{
return false;
}
if(iMonth==2)
{
if (iYear<100) iYear+=2000;
if ((iYear % 4 == 0 && iYear % 100 != 0) || iYear % 400 == 0) //检测是否闰年
{
if(iDay>29||iDay==0) return false;
}
else
{
if(iDay>28||iDay==0) return false;
}
return true;
}
else if(iMonth==1 || iMonth==3 || iMonth == 5 ||iMonth==7 || iMonth==8 || iMonth==10 || iMonth==12)
{
if(iDay>31||iDay==0)
{
return false;
}
}
else
{
if(iDay>30||iDay==0)
{
return false;
}
}
return true;
}
else
{
return false;
}
}
以前写的检测日期函数
var a=1
var b=new Date()
alert(typeof(a)=="number")
alert(/Date/.test(b.constructor))
</script>
秋水﹕如果你看見了就幫個忙解決一下這個吧
http://expert.csdn.net/Expert/topic/1232/1232907.xml?temp=.7534143
function strDate(str){
//檢測日期型
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
return newStr==str
}function strDateTime(str){
//檢測日期時間型
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()
return newStr==str
}function strEmail(str){
//檢測E_MAIL
var pattern = /^([\.a-zA-Z0-9_-]){3,}@([a-zA-Z0-9_-]){3,}(\.([a-zA-Z0-9]){2,4}){1,2}$/;
return pattern.test(str);
}function strEnglish(str){
//是否只含英文
var pattern = /[^\x00-\xFF]/;
return !pattern.test(str);
}function strChinese(str){
//只含中文(對簡體有效)
var pattern = /[^\u4E00-\u9FA5]/;
return !pattern.test(str);
}/*檢測數據類型用
typeof[()expression[]] ;
expression 參數是需要查找類型信息的任意表達式。 說明﹕
typeof 運算符把類型信息當作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."
function isDate(d){return d.constructor==Date;}
function isNull(n){return n==null;}
function isNumeric(i){return typeof(i)=="number";}
function isObject(o){return typeof(o)=="object";}
*/