关闭

js源码--日期(2)

标签: characterfunctiondatebuttongeneratorjavascript
703人阅读 评论(0) 收藏 举报
<!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>
 
我写的这个就算比较简单的了,适合初学者对日期应用的认识较为合适。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:203202次
    • 积分:2682
    • 等级:
    • 排名:第13977名
    • 原创:59篇
    • 转载:84篇
    • 译文:0篇
    • 评论:80条
    最新评论