<script language="javascript">
function check()
{
var m=/^(\d){4}-(\d){1,2}-(\d){1,2}$/;
s=document.all("input").value.match(m)
if (s==null)
{
alert("日期不正确");
return false;
}
else
{
var d=new Date(s[1],s[2],s[3]);
if(s[2]!=d.getMonth())
{
alert("日期不正确");
return false;
}
if(s[3]!=d.getDate())
{
alert("日期不正确");
return false;
}
}
}
</script>
<input type="text" name="input" onBlur="check()">
function check()
{
var m=/^(\d){4}-(\d){1,2}-(\d){1,2}$/;
s=document.all("input").value.match(m)
if (s==null)
{
alert("日期不正确");
return false;
}
else
{
var d=new Date(s[1],s[2],s[3]);
if(s[2]!=d.getMonth())
{
alert("日期不正确");
return false;
}
if(s[3]!=d.getDate())
{
alert("日期不正确");
return false;
}
}
}
</script>
<input type="text" name="input" onBlur="check()">
<Script language="VBScript">
Function fCheckDate(str)
fCheckDate = 0
If (IsDate(str) OR str = "//") Then
fCheckDate = 1
Else
fCheckDate = 0
End If
End Function</Script>
然后在JS中直接调用这个就可以了。
if (!fCheckDateValue(form))
{
return false;
}
你搜索一下,有很多的!
/****************************************************************\
JScript 常用运行库 Version 1.4
作者 : Lostinet[迷失网络]
Email : [email protected]
\****************************************************************/function LostinetJScriptRuntimeLibrary(){}/****************************************************************\
Global
\****************************************************************/
function Global(){}
function Global.GetUndefined(){}
function Global.ValueOf(unknown){
if(Global.IsUndefined(unknown))return Global.GetUndefined();
try{
return unknown.valueOf();
}catch(x){}
return unknown;
}function Global.ToString(unknown){
if(Global.IsUndefined(unknown))return "";
if(Global.IsJScriptObject(unknown))
{
try{
return String.Convert(unknown.toString());
}catch(x){}
}
return String.Convert(unknown);
}
function Global.IsBlank(unknown){
switch(typeof(unknown))
{
case "undefined":return true;
case "string":return unknown=="";
case "number":return unknown==0;
case "object":return unknown==null;
case "function":return false;
default:return unknown?false:true;
}
}
function Global.IsJScriptType(unknown)
{
switch(typeof(unknown))
{
case "object":
return Global.IsJScriptObject(unknown);
case "function":
case "string":
case "number":
case "boolean":
case "undefined":
return true;
default:
return false;
}
}
function Global.IsJScriptObject(unknown)
{
if(typeof(unknown)=="function")return true;
if(typeof(unknown)!="object")return false;
try{
return typeof(unknown.constructor)=="function";
}catch(x){
}
return false;
}
function Global.ThrowError(msg){
throw(new Error(-1,msg));
}
Object
\****************************************************************//*
unknown,function,ActiveXObject等会被认为是undefined
除了Object和Array,其他object类型的子属性会被忽略
自定义的constructor会自动转为Object
*/
//需要优化
function Object.Encode(v)
{
var Encoders={"unknown":_unknown,"object":_object,"function":_function,"string":_string,"number":_number,"boolean":_boolean,"undefined":_undefined};
return InnerEncode(v);
function InnerEncode(v)
{
var der=Encoders[typeof(v)];
if(der)
return der(v);
return _undefined(v);
}
function EncodeString(v){
v=String.Convert(v);
v=v.replace(/\&/g,"&0");
v=v.replace(/\=/g,"&1");
v=v.replace(/\:/g,"&2");
v=v.replace(/\,/g,"&3");
return v;
}
function _unknown(v)
{
return _undefined(v);
}
function _object(v)
{
if(!Global.IsJScriptObject(v))
return _undefined(v);
switch(v.constructor)
{
case Array: return _Array(v);
case Date: return _Date(v);
case String: return _String(v);
case Number: return _Number(v);
case Boolean: return _Boolean(v);
case RegExp: return _RegExp(v);
case Object:
default:
return _Object(v);
}
function _Object(v)
{
var str="object_Object=";
var arr=[];
for(var i in v)
{
if(Global.IsJScriptType(v[i])&&typeof(v[i])!="function")
arr[arr.length]=EncodeString(EncodeString(i)+":"+EncodeString(InnerEncode(v[i])));
}
return str+arr.join(",");
}
function _Array(v)
{
var str="object_Array=";
var arr=[];
for(var i in v)
{
if(Global.IsJScriptType(v[i])&&typeof(v[i])!="function")
arr[arr.length]=EncodeString(EncodeString(i)+":"+EncodeString(InnerEncode(v[i])));
}
return str+arr.join(",");
}
function _Date(v){return "object_Date="+v.getTime();}
function _String(v){return "object_String="+EncodeString(v);}
function _Number(v){return "object_Number="+EncodeString(v);}
function _Boolean(v){return "object_Boolean="+EncodeString(v.ToString());}
function _RegExp(v)
{
return "object_RegExp="+
EncodeString(
"p:"+EncodeString(v)+
"i:"+EncodeString(Boolean.ToString(v.ignoreCase))+
"g:"+EncodeString(Boolean.ToString(v.global))
);
}
}
function _function(v){return _undefined(v);}
function _string(v){return "string="+EncodeString(v);}
function _number(v){return "number="+EncodeString(v);}
function _boolean(v){return "boolean="+EncodeString(v.ToString());}
function _undefined(v){return "undefined=undefined";}
}
function Object.Decode(s)
{
s=String.Convert(s);
var Decoders={"object_Object":_object_Object,"object_Array":_object_Array,"object_Date":_object_Date,"object_String":_object_String,"object_Number":_object_Number,"object_Boolean":_object_Boolean,"object_RegExp":_object_RegExp,"string":_string,"number":_number,"boolean":_boolean,"undefined":_undefined};
return InnerDecode(s);
function InnerDecode(s)
{
s=String.Convert(s);
var arr=s.split("=");
var type=arr[0];
var der=Decoders[type];
if(der)
return der(String.Convert(arr[1]));
return _undefined(String.Convert(arr[1]));
}
function DecodeString(v){
v=String.Convert(v);
v=v.replace(/\&3/g,",");
v=v.replace(/\&2/g,":");
v=v.replace(/\&1/g,"=");
v=v.replace(/\&0/g,"&");
return v;
}
function _object_Object(ss)
{
var obj=new Object();
var arr=ss.split(",");
for(var i=0;i<arr.length;i++)
{
var arr2=DecodeString(arr[i]).split(":");
var index=DecodeString(arr2[0]);
if(index=="")break;
obj[index]=InnerDecode(DecodeString(arr2[1]));
}
return obj;
}
function _object_Array(ss)
{
var obj=new Array();
var arr=ss.split(",");
for(var i=0;i<arr.length;i++)
{
var arr2=DecodeString(arr[i]).split(":");
var index=DecodeString(arr2[0]);
if(index=="")break;
obj[index]=InnerDecode(DecodeString(arr2[1]));
}
return obj;
}
function _object_Date(ss){return Date.Convert(Number.Convert(DecodeString(ss)));}
function _object_String(ss){return new String(String.Convert(DecodeString(ss)));}
function _object_Number(ss){return new Number(Number.Convert(DecodeString(ss)));}
function _object_Boolean(ss){return new Boolean(Boolean.ConvertFromString(DecodeString(ss)));}
function _object_RegExp(ss)
{
var obj=new Object();
var arr=ss.split(",");
for(var i=0;i<arr.length;i++)
{
var arr2=DecodeString(arr[i]).split(":");
var index=DecodeString(arr2[0]);
if(index=="")break;
obj[index]=InnerDecode(DecodeString(arr2[1]));
}
var re=new RegExp();
re.pattern=String.Convert(obj.p);
re.ignoreCase=Boolean.Convert(obj.i);
re.global=Boolean.Convert(obj.g);
return re;
}
function _string(ss){return String.Convert(DecodeString(ss));}
function _number(ss){return Number.Convert(DecodeString(ss));}
function _boolean(ss){return Boolean.ConvertFromString(DecodeString(ss));}
function _undefined(ss){return Global.GetUndefined();}
}