您的位置:首页 > Web前端 > JavaScript

利用JavaScript实现客户端输入日期验证

2008-10-14 13:10 423 查看
利用JavaScript实现客户端输入日期验证
2007-12-08 09:29
部分代码取自网络,经提练加工,奉献给网络。
转载请务必注明:来自刚毅博客http://hi.baidu.com/lkweb
一、编写脚本文件:my.js
内容如下:
//去掉字符串左边空格
function leftTrim(text){
if(text==null || text=="") return text;
var leftIndex=0;
while(text.substring(leftIndex,leftIndex+1)==" ")
leftIndex++;
return text.substring(leftIndex, text.length);
}
//去掉字符串右边空格
function rightTrim(text){
if(text==null || text=="") return text;
var rightIndex=text.length;
while(text.substring(rightIndex-1, rightIndex)==" ")
rightIndex--;
return text.substring(0,rightIndex);//返回
}
//去掉字符串两边空格
function trim(text){
return rightTrim(leftTrim(text));
}
//替换字符方法
function replaceAll(text,replacement,target){
if(text==null || text=="") return text;//如果text无内容,返回text
if(replacement==null || replacement=="") return text;//如果replacement无内容,返回text
if(target==null) target="";//如果target无内容,设置为空串
var returnString="";//定义返回值变量,并初始化
var t=text;
var index=(""+t).indexOf(replacement);//定义查找replacement的索引下标,并进行第一次查找

while(index!=-1){//直至未找到replacement,要么进行下面的处理
if(index==0) {
returnString +=target;
t=t.substring(replacement.length);
index=t.indexOf(replacement);//进行查询,准备下一次处理

} else {returnString+=t.substring(0, index)+target;
//如果找到的replacement前有字符,累加到返回值中,并加上target
t=t.substring(index+replacement.length);//取掉找到的replacement及前边的字符
index=t.indexOf(replacement);//进行查询,准备下一次处理
}
}

return returnString+=t;
}
//日期检测方法
function checkDate( a ){
var z=a.indexOf(" ");
if(z!=-1)
if(z<8 || z>12) { //日期中空格为9至11位
alert("所输入的日期中空格位置不对!/n完整的日期,如:/n2007-09-09或2007-09-09 09:12:07/n或2007-09-09 09:12:07/n2007-9-9或2007-9-9 9:12:7等");
return false;}
//以下取得日期中的数字组成的字符串
a=replaceAll(a,"-","");
a=replaceAll(a,"/","");
a=replaceAll(a,".","");
a=replaceAll(a," ","");
a=replaceAll(a,":","");
z=a.length;
//检测数字组成的字符串中是否有非法字符
for(i=0;i<z;i++) {
if( isNaN( parseInt( a.charAt(i) ) ) ){
alert("所输入的日期中有非法字符:"+a.charAt(i)+" ^-^");
return false;
}
}
return true;
}

//test.htm中调用的方法
function checkData( ){

var d=trim((document.pingping.issueTime.value));
return checkDate(d );
}

二、编写测试文件: test.htm
<html>
<head>
<title>检测所输入日期中字符的合法性</title>
<script language="javascript" src="my.js">
</script>
</head>
<body>
<form action="123.asp" mehod="post" name="pingping" onSubmit="checkData( )">
<input name="issueTime">
<input type=submit>
</form>
</body>
</html>
三、编写服务器端运行文件: lk.asp
<%@ language="jscript" %>
<%=Request("issueTime")%>
四、将 test.htm,124.asp,my.js放在同一服务器目录中,测试。
来自 http://hi.baidu.com/lkweb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: