原创  八位,时期格式判断. 收藏

今天作一个年限处理模块,要用到时期并且需求还不让调到日历小程序,必须手写进去对其判断.以前也作过几次这样的但没有保存下来,今天又来了个这,在网上没有查找到现成的就只好自己重写.唉,天天作重复的工作.今天干脆自己写上来,以防以后会再次用到.

========================================================

<html> 
<head> 
<title>date</title> 
<meta  http-equiv=Content-Type  content=text/html;  charset=gb2312> 
</head> 
 
<body> 
<script  language=JavaScript  type=text/JavaScript> 
 function chkdate(parm){
var flag=false;
var date1=parm.split("-");
var year=date1[0]+"";
var month=date1[1]+"";
var days=date1[2]+"";
var yearvalue=parseInt(year,10);
var monthvalue=parseInt(month,10);
var dayvalue=parseInt(days,10);
if(isNaN(yearvalue)||isNaN(monthvalue)||isNaN(dayvalue)){
alert("对不起,时期出现了非法字符!");
return false;
}else{
if(yearvalue==0||monthvalue==0||dayvalue==0){
alert("对不起,年,月,日不可以为零!");
return false;
}
}
if(year.length!=4 || month.length!=2 || days.length!=2){
alert("时期格式不正确,正确格式如:2004-02-23 !");
return false;
}
flag=strDateTime(parm);
if(!flag){
alert("对不起,日期不合法!");
return false;
}
return true;

function ch(){
 var tom=document.form1.tom.value;
 var flag=chkdate(tom);
if(flag){
alert("成功,合法的日期!");
}else{
document.form1.tom.value="";
document.form1.tom.focus();
}
}
function strDateTime(str)
  {
  var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
  if(r==null)return false;
  var d= new Date(r[1], r[3]-1, r[4]);
  return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
  }
</script> 
 
<form  method=POST  action=02.asp  language=JavaScript  name=form1  > 
 <font color=red><b>测试小程序</b></font><hr>
       请输入日期:<input  type=text  name=tom  > 
       <input  type=button  name=Button1  value="单击判断时期是否正确"  onclick=ch()> 
</form> 
 
</body> 
 
</html> 

===================================================

其它相关:

<script type="text/javascript">
       
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
 function chkdate(parm){
var flag=false;
var date1=parm.split("-");
var year=date1[0]+"";
var month=date1[1]+"";
var days=date1[2]+"";
var yearvalue=parseInt(year,10);
var monthvalue=parseInt(month,10);
var dayvalue=parseInt(days,10);
if(isNaN(yearvalue)||isNaN(monthvalue)||isNaN(dayvalue)){
alert("对不起,时期出现了非法字符!");
return false;
}else{
if(yearvalue==0||monthvalue==0||dayvalue==0){
alert("对不起,年,月,日不可以为零!");
return false;
}
}
if(year.length!=4 || month.length!=2 || days.length!=2){
alert("时期格式不正确,正确格式如:2004-02-23 !");
return false;
}
flag=strDateTime(parm);
if(!flag){
alert("对不起,日期不合法!");
return false;
}
return true;
}
function yearLen(startTime,endTime){
                var years=0;
                var endDateSplit = endTime.split("-");
                var startDateSplit = startTime.split("-");
                var endDate = new Date(endDateSplit[1] + '-' + endDateSplit[2] + '-' + endDateSplit[0]);  //结束日期
                var startDate = new Date(startDateSplit[1] + '-' + startDateSplit[2] + '-' + startDateSplit[0]);    //开始日期
                if(endDate<=startDate) {
                   return -1;
                }
years=parseInt(endDateSplit[0])-parseInt(startDateSplit[0]);
return years;
            }
           
            //计算天数差的函数,通用
    function DateDiff(sDate1, sDate2){  //sDate1和sDate2是2002-12-18格式
        var aDate, oDate1, oDate2, iDays;
        aDate = sDate1.split("-");
        oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);  //转换为12-18-2002格式
        aDate = sDate2.split("-");
        oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
        iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24);  //把相差的毫秒数转换为天数
        return iDays;
}
function strDateTime(str)
  {
  var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
  if(r==null)return false;
  var d= new Date(r[1], r[3]-1, r[4]);
  return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
  }
function check(){
var startTime=document.form1.serviceStartDate.value;
var endTime=document.form1.serviceEndDate.value;
startTime=startTime.trim();
endTime=endTime.trim();
if(startTime==null||startTime==""){
    alert("请输入起始时间!");
    document.form1.serviceStartDate.focus();
    return false;
}else{
    var judge=chkdate(startTime);
    if(!judge){
    document.form1.serviceStartDate.value="";
    document.form1.serviceStartDate.focus();
    return false;
    }
}
if(endTime==null||endTime==""){
    alert("请输入终止时间!");
    document.form1.serviceStartDate.focus();
    return false;
}else{
    var judge=chkdate(endTime);
    if(!judge){
    document.form1.serviceEndDate.value="";
    document.form1.serviceEndDate.focus();
    return false;
    }
}
var year1=parseInt(yearLen(startTime,endTime));
if(year1==-1){
     alert("'终止日期'必须大于'起始日期'!");
    document.form1.serviceEndDate.value="";
    document.form1.serviceEndDate.focus();
 return false;
}
var year2=parseInt(document.form1.yearNum.value);
if(year1!=year2){
alert("对不起,服务起止时间跟服务年限不符!");
return false;
}
document.form1.ok.disabled=true;
document.form1.submit();
}
function isLeapYear(year){
if((year %4==0 && year %100!=0) || (year %400==0)) return true;
else return false;
}
</script>

发表于 @ 2009年03月13日 16:17:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:80后单身的十大烦恼 | 新一篇:太强了!一女生北京动物园买裤子杀价全过程

  • 发表评论
  • 评论内容:
  •  
Copyright © bobor_2008
Powered by CSDN Blog