首页 >> 读书频道 >> 电脑 >> 表单递交合法性检测-日期
 
· 表单递交合法性检测-Em
· 如何从ACCESS数据库
· ASP创建EXCHANG
· String添加trim
· 利用http组件实现多引
· 随机访问Recordse
· 怎样把数据库结构显示出来
· 关于页面和代码分离
· 怎样传送更多的数据在表单
· 图片循环显现
· PerlScript编写
· 输入显示框中循环出现文字
 
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

表单递交合法性检测-日期


查看有无更新版本

关键字:ASP技巧 2006-9-9

 

<html>
<head>
<script Language="JavaScript">
<!--
function testKey(e){
chars= "0123456789/";
e = window.event;
if(chars.indexOf(String.fromCharCode(e.keyCode))==-1) window.event.keyCode=0;
};
function valDate(M, D, Y){
Months= new Array(31,28,31,30,31,30,31,31,30,31,30,31);
Leap = false;
if((Y % 4 == 0) && ((Y % 100 != 0) || (Y %400 == 0)))
Leap = true;
if((D < 1) || (D > 31) || (M < 1) || (M > 12) || (Y < 0))
return(false);
if((D > Months[M-1]) && !((M == 2) && (D > 28)))
return(false);
if(!(Leap) && (M == 2) && (D > 28))
return(false);
if((Leap) && (M == 2) && (D > 29))
return(false);
};
function formatDate(dateForm){
cDate = dateForm.value;
dSize = cDate.length;
sCount= 0;
if (document.Form1.Date.value == ""){
alert("请输入日期!");
return false ;
}
if(cDate=='') return;
for(var i=0; i < dSize; i++)
(cDate.substr(i,1) == "/") ? sCount++ : sCount;
if (sCount != 2){
alert("输入的日期格式必须是\n ''月/日/年''");
dateForm.select();
return(false);
};
//检测输入的年份是2位数还是4位数;
ySize = cDate.substring(cDate.lastIndexOf("/")+1,dSize).length
if(ySize<2 || ySize>4 || ySize == 3){
alert('您输入的日期错误 !');
dateForm.select();
return false;
};
//将输入的日期字符串分隔成3部分 (Month, Day & Year)
idxBarI = cDate.indexOf("/");
idxBarII= cDate.lastIndexOf("/");
strM = cDate.substring(0,idxBarI);
strD = cDate.substring(idxBarI+1,idxBarII);
strY = cDate.substring(idxBarII+1,dSize);
strM = (strM.length < 2 ? '0'+strM : strM);
strD = (strD.length < 2 ? '0'+strD : strD);
if(strY.length == 2)
strY = (strY > 50 ? '19'+strY : '20'+strY);
dateForm.value = strM+'/'+strD+'/'+strY;
ok = valDate(strM, strD, strY);
if(ok==false){
alert("您输入的日期错误 !");
dateForm.select();
return false;
};
};

-->
</script>
<title>日期合法性检测</title>
</head>
<body onLoad="javascript:document.Form1.Date.focus()" bgcolor="#FFFFFF">

<form name="Form1" method="post" onSubmit="return testKey(event)" action="">
输入正确的日期(月/日/年):
<input type=text maxlength =10 name="Date" size=10 onBlur="formatDate(this)" value="">
</form>
</body>
</html>
说明:此脚本的用途是比较全面地检测输入日期的合法性,除了做非空检测外,还有效地检测了不同年月日期的合法性问题。比如在不是闰年的2月输入了29日等。黄色代码与脚本的检测无关,作用是页面读出页面后光标停留在日期文本框内。可以不要。
注意:(1)<Form>标签中表单的名字Form1和日期文本框的名字Data(加重字体)与脚本是有关的,也就是说你如果改动了它们的名字,凡是在脚本中引用From1和Data的部分都要修改。切切!!!
(2)Javascript是大小写敏感的,所以注意大小写的区别和一致性原则。
(3)此脚本应该与CGI/ASP等服务器端的递交处理程序配合使用,用于客户端的合法性检测。本例没有将submit按钮作上去,你所处理的表单中可能包括更多的内容。
这里仅仅提供了一个脚本思路,你不一顶非要全部照搬脚本,可以仅仅取脚本的一部分使用(主要是算法)。

表单递交合法性检测-日期

[ 1 ]
表单递交合法性检测-日期 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑