js源码--日期(2)

<! DOCTYPE HTML PUBLIC  " -//W3C//DTD HTML 4.0 Transitional//EN " >
< HTML >
< HEAD >
< TITLE >  New Document  </ TITLE >
< META NAME = " Generator "  CONTENT = " EditPlus " >
< META NAME = " Author "  CONTENT = "" >
< META NAME = " Keywords "  CONTENT = "" >
< META NAME = " Description "  CONTENT = "" >
< meta http - equiv = " Content-Type "  content = " text/html; charset=gb2312 " >
</ HEAD >
< BODY >
< form name = " form1 "  method = " post "  action = "" >
日期:
< input type = " text "  id = " a "  onclick = " restrictInputValue(this) "  onkeydown = " ddd(this) "   >
天数:
< input type = " text "  id = " b "   >
日期相加:
< input type = " text "  id = " c "   >
< input type = " button "   value = " 判断是否合法 "  onClick = " aaa(document.getElementById('a')) " >
< input type = " button "   value = " 获得日期 "  onClick = " bbb(document.getElementById('a')) " >
< input type = " button "   value = " 日期相加 "  onClick = " ccc(document.getElementById('a'),document.getElementById('b')) " >
</ form >
</ BODY >
</ HTML >

< script language = " javascript " >

window.onload
= init;
function  init() {
var oDate = new Date();
var result= oDate.getFullYear()+"-"+(oDate.getMonth()<10?("0" + (oDate.getMonth()+1)):(oDate.getMonth()+1))+"-"+(oDate.getDate()<10?("0" + oDate.getDate()) : oDate.getDate());
document.getElementById(
"a").value=result;
}


String.prototype.isDate 
=   function ()
{
var r = this.match(/^(d{4})(-|/)(d{1,2})2(d{1,2})$/);
if(r==null)return false;
var d = new Date(r[1], r[3]-1,r[4]);
if (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]){
return true;
}

}


function  aaa(obj) {
if(!obj.value.isDate()){
alert(
"error");
obj.focus();
}

}


function  bbb(obj) {
var r = obj.value.match(/^(d{4})(-|/)(d{1,2})2(d{1,2})$/);
if(r==null)return false;
var d = new Date(r[1], r[3]-1,r[4]);
var result=d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()
document.getElementById(
"c").value=""
document.getElementById(
"c").value=result
}


function  ccc(obj1,obj2) {
var r = obj1.value.match(/^(d{4})(-|/)(d{1,2})2(d{1,2})$/);
if(r==null)return false;
var d = new Date(r[1], r[3]-1,r[4]);
var c=new Date(d.getTime()+obj2.value*1000*60*60*24)
var result=c.getFullYear()+"-"+((parseInt(c.getMonth())+1>9)?"":"0")+(parseInt(c.getMonth())+1)+"-"+(c.getDate()>9?"":"0")+c.getDate()
document.getElementById(
"c").value=""
document.getElementById(
"c").value=result
}



function  restrictInputValue(obj)
{
    
var range = obj.createTextRange();
    
var selRange = document.selection.createRange();
    range.moveStart(
"character",-obj.value.length)
    selRange.setEndPoint(
"StartToStart",range);
    
if(selRange.text.length<5){
    specialText_SelectYear(obj);
    }

    
else if(selRange.text.length>4&&selRange.text.length<8){
    specialText_SelectMonth(obj)
    }

    
else{
    specialText_SelectDate(obj)
    }

}


function  specialText_SelectYear(oInput)
{
        
var oRange = oInput.createTextRange();
        oRange.moveStart(
"character",0);
        oRange.moveEnd(
"character",-6);
        
//代表选中了年
        oInput.selectIndex = 1;
        oRange.select();
}

// 选中月份
function  specialText_SelectMonth(oInput)
{
        
var oRange = oInput.createTextRange();
        oRange.moveStart(
"character",5);
        oRange.moveEnd(
"character",-3);
        
//代表选中了月
        oInput.selectIndex = 2;
        oRange.select();
}

// 选中日期
function  specialText_SelectDate(oInput)
{
        
var oRange = oInput.createTextRange();
        oRange.moveStart(
"character",8);
        
//代表选中了日期
        oInput.selectIndex = 3;
        oRange.select();
}


function  ddd(oInput) {   
oEvent
=window.event   
 
if((oEvent.keyCode >= 48 && oEvent.keyCode <= 57||
    (oEvent.keyCode 
>= 96 && oEvent.keyCode <= 105)){
    
return;
}

oEvent.returnValue
=false;
}

</ script >
 
我写的这个就算比较简单的了,适合初学者对日期应用的认识较为合适。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值