立博名家

fox 常见js函数

function isNumeric(obj)
{  
 if ((AjaxFunction.isNumeric(obj.value)).value==0)
 {
  alert("Please input numeric data!");
  obj.focus();
  obj.value="0";
 }
}

function ltrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1) {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1) {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}

function rtrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}

function trim(str){
    return rtrim(ltrim(str));
}


//块计计翴㎝タ璽腹
function beDigit(){                                  //籔keypressㄆン硈ノ
 if ((event.keyCode<48) || (event.keyCode>57)){
  if (event.keyCode!=46 || event.keyCode!=43 || event.keyCode!=45){       //46:计翴,43:+,45:-
   event.keyCode="";
  }
 }
}

function toUpperChar(){
 if ((event.keyCode>=97) && (event.keyCode<=122)){
  event.keyCode=event.keyCode-32;
 }
}

/*
:耞块Text琌琌猭ら戳丁Α2004-02-04 20:33 ┪2004-02-04 20:33:22 
喷靡ΑΤ:yyyy-MM-dd(yyyy-M-d)Α,yyyyMMddΑ,のyyyy/MM/ddΑ + HH:mm:ss / H:m:s /HH:mm
弧:Τら戳场だτ⊿Τ丁场だ
*/
function checkDateTime(objname){
 var obj = document.getElementById(objname) ;
 var date1=trim(obj.value);
 if (date1!=""){
  if (!isDateTime(date1)){
   alert("The date is incorrect.Please input in format yyyy-MM-dd or yyyy-MM-dd HH:mm:ss");
   obj.value="";
   obj.focus();
  }
 }
}

function isDateTime(dtvalue){
 //var sDTCheck = trim(dtvalue) ;
 var sDateTime = trim(dtvalue);
 var sDate;
    var sTime;
    var nPos = 0;
    if (sDateTime.length == 0){         //猔種
  return true;
 }
 nPos=sDateTime.indexOf(" ");
    //for (var i=0;i<sDateTime.length;i++)  {
    //    if (sDateTime.substr(i,1) == " ") {
    //        nPos=i;
    //        break;
    //    }
    //}
   
 if (nPos<0) {
  if(sDateTime.length <= 10 ) {
            sDate = sDateTime ;
            return isDate(sDate) ;
         }
         return false;
    }
    sDate = sDateTime.substr(0,nPos);
    sTime = sDateTime.substr(nPos+1,sDateTime.length-nPos+1);
   
 if (isDate(sDate) == true){
  if (isTime(sTime) == true){
     return true;
  }
  else{
   return false;
  }
 }
 else {
  return false;
 }
}

//把计北ン
//祏丁(13:04:06 or 13:04)
function checkTime(objname){
 var obj=document.getElementById(objname);
 if (obj=='undefined'){
  return true;
 }
 var sTime=trim(obj.value);
 if (sTime==""){
  return true;
 }
 if (!isTime(sTime)){
  alert('The time is incorrect.Please input in format HH:mm:ss');
  obj.value="";
  return false;
 }
 return true;
}

//把计丁
//祏丁(13:04:06 or 13:04)
function isTime(psTime) {
 var separator = ':';
 var sTime=psTime;
 var arrTimes = sTime.split(separator);
 if(arrTimes.length == 2 )  {
  sTime = sTime   +":00";
    }
 var a = sTime.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
 if (a == null) {
  //alert('The time is incorrect.Please input in format HH:mm:ss');
  return false;
 }
 if (a[1]>=24 || a[3]>=60 || a[4]>=60) {
  return false;
 }
 return true;
}

/*
:耞ら戳Α琌猭(猔:ぃ珹丁场だ)
 喷靡ΑΤ:yyyy-MM-dd(yyyy-M-d)Α,yyyyMMddΑ,のyyyy/MM/ddΑ
秸ノ:秸ノ簙CheckyyyyMMdd(dayString)
 砆ㄧ计isDateTime()秸ノ
ノ猭:isDate (1999-01-01)  or  (1999/01/01)        
*/
function isDate(psDate) {
 var sDate=trim(psDate);
 if (isyyyyMMdd(sDate) == true){
  return true;
 }
 var nPos = 0;
 //var strYMD;
    
 if (!(sDate.substr(4,1)=="-")) {
  if(!(sDate.substr(4,1)=="/")){
   return false;
  }
 }
 var sYear = sDate.substr(0,4);
 sMonthDay = sDate.substr(5,sDate.length-5);  //るら场だ

 for (i=0;i<sMonthDay.length;i++) {
  if (sMonthDay.substr(i,1)=="-"){
   nPos = i;
   break;
  }
  if (sMonthDay.substr(i,1)=="/") {
   nPos = i;
   break;
  }
 }
 if(nPos<1){       //ぃ-┪/
       return false;
    }
   var sMonth = sMonthDay.substr(0,nPos);
   var sDay= sMonthDay.substr(nPos + 1,sMonthDay.length - nPos + 1);
   if (sMonth.length == 1){
  sMonth = "0"+sMonth;
 }
   if (sDay.length == 1){
  sDay = "0"+sDay;
 }
    if (isyyyyMMdd(sYear+sMonth+sDay) == true){
  return true;
  }
    else{
  return false;
 }
}
 

/*:耞ら戳才﹃Α琌猭ら戳yyyyMMddΑ; */
function isyyyyMMdd(dayString){
    var digit = "0123456789";
    datelist = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
    if (dayString.length !=8) return(false);
    for(i=0;i<8;i++) {
        if(digit.indexOf(dayString.charAt(i),0)==-1) return(false);
    }
    sYear  = dayString.substr(0,4);
    sMonth = dayString.substr(4,2);
    sDay  = dayString.substr(6,2);
    if (sYear>2200||sYear<1900||sMonth>12||sMonth<1||sDay>31||sDay<1)  return(false);
    if(sDay>datelist[sMonth-1]) return(false);

    yyyy = eval(sYear);
    if ( sMonth == "02" ) {
        if ((yyyy % 400) == 0 ){
            if (sDay>29 )  return(false);
        }
        else if ((yyyy % 4) == 0 && (yyyy % 100) != 0 ) {
            if (sDay>29 )  return(false);
        }
        else {
            if (sDay>28 )  return(false);
        }
    }
    return(true);
}


//ら戳丁场だ
//セㄧ计ぃ喷ら戳丁琌タ絋
function datePart(part,dtvalue){
//part把计:date,time,year,month,day,hour,minute,second
 var sDateTime = trim(dtvalue);
 var sDate,sTime;
    
    //if(!isDateTime(sDateTime)){
 // alert(dtvalue + " is not a correct date expression.");
 // return "";
    //}
   
    var sYear,sMonth,sDay,sHour,sMinute,sSecond;
    var sHasTime="true";             //琌Τ盯场だ
    var nPos = 0;
   
 nPos=sDateTime.indexOf(" ");
   
 if (nPos<0) {                    //⊿Τ丁场だ
  sHasTime="false";
  if(sDateTime.length <= 10 ) {
   sDate = sDateTime ;
   sTime="";
  }
    }
 else{
  sHasTime="true";
  sDate = sDateTime.substr(0,nPos);
  sTime = sDateTime.substr(nPos+1,sDateTime.length-nPos+1);
 }

 sYear = sDate.substr(0,4);
 var sMonthDay = sDate.substr(5,sDate.length-5);   //るら场だ

 for (i=0;i<sMonthDay.length;i++) {
  if (sMonthDay.substr(i,1)=="-"){
   nPos = i;
   break;
  }
  if (sMonthDay.substr(i,1)=="/") {
   nPos = i;
   break;
  }
 }
   
 sMonth = sMonthDay.substr(0,nPos);
 sDay= sMonthDay.substr(nPos + 1,sMonthDay.length - nPos + 1);
 if (sMonth.length == 1){
  sMonth = "0"+sMonth;
 }
 if (sDay.length == 1){
  sDay = "0"+sDay;
 }
 
 if (sHasTime=="true"){
  var arrhms=sTime.split(":");
  sHour=arrhms[0];
  sMinute=arrhms[1];
  if(arrhms.length == 2 )  {
   sSecond = "00";
  }
  else{
   sSecond=arrhms[2]
  }
 }
 var sReturn;
 switch(part.toLowerCase()){
 case "date":
  sReturn=sDate;
  break;
 case "time":
  sReturn=sTime;
  break;
 case "year":
  sReturn=sYear;
  break;
 case "month":
  sReturn=sMonth;
  break;
 case "day":
  sReturn=sDay;
  break;
 case "hour":
  sReturn=sHour;
  break;
 case "minute":
  sReturn=sMinute;
  break;
 case "second":
  sReturn=sSecond;
  break;
 }
 return sReturn;
}

//丁场だ
//セㄧ计ぃ喷丁琌タ絋
function timePart(part,dtvalue){
//part把计:date,time,year,month,day,hour,minute,second
 var sTime = trim(dtvalue);
 var sDate;
    
    //if(!isTime(sTime)){
 // alert(dtvalue + " is not a correct time expression.");
 // return "";
    //}
   
    var sHour,sMinute,sSecond;
    var nPos = 0;
   
 var arrhms=sTime.split(":");
 sHour=arrhms[0];
 sMinute=arrhms[1];
 if(arrhms.length == 2 )  {
  sSecond = "00";
 }
 else{
  sSecond=arrhms[2]
 }
 var sReturn;
 switch(part.toLowerCase()){
 case "hour":
  sReturn=sHour;
  break;
 case "minute":
  sReturn=sMinute;
  break;
 case "second":
  sReturn=sSecond;
  break;
 }
 return sReturn;
}

//璸衡objname2-objname1ら戳畉盢畉ぱ计糶objResultNameい
//把计北ン
function calcDateDiff(objname1,objname2,objResultName){
 var obj1,obj2,obj3;
 obj1=document.getElementById(objname1);
 obj2=document.getElementById(objname2);
 objResult=document.getElementById(objResultName);
    var date1 = obj1.value;
    var date2 = obj2.value;
 if (date1!="" && date2!=""){
  if (isDateTime(date1) && isDateTime(date2)){
   var d1 = new Date(datePart("year",date1),datePart("month",date1)-1,datePart("day",date1));
   var d2 = new Date(datePart("year",date2),datePart("month",date2)-1,datePart("day",date2));
   var nDiff=d2-d1;
   if (nDiff<0){
    alert("The end date must be greater the bengin date!");
    objResult.value="";
   }
   else{
    objResult.value =(nDiff)/86400000 + 1;
   }
  }
  else{
   objResult.value="";
  }
 }
}


//ゑ耕ら戳丁2璶┪单1,讽玡礘翴currentobjname.
function compareDate(objname1,objname2,currentobjname){
//把计北ン
 var obj1,obj2,objCurrent;
 obj1=document.getElementById(objname1);
 obj2=document.getElementById(objname2);
 objCurrent=document.getElementById(currentobjname);
 var date1=obj1.value;
 var date2=obj2.value;
 if (obj1.value!="" && obj2.value!=""){
  if (isDateTime(date1) && isDateTime(date2)){
   var d1 = new Date(datePart("year",date1),datePart("month",date1)-1,datePart("day",date1));
   var d2 = new Date(datePart("year",date2),datePart("month",date2)-1,datePart("day",date2));
   if ((d2-d1)<0){
    alert("The end date must be greater the bengin date!");
    objCurrent.focus();
   }
  }
 }
}

//ゑ耕丁2璶┪单1,讽玡礘翴currentobjname.
//ぃら戳场だ
function compareTime(objname1,objname2,currentobjname){
 var obj1,obj2,objCurrent;
 obj1=document.getElementById(objname1);
 obj2=document.getElementById(objname2);
 objCurrent=document.getElementById(currentobjname);
 var time1=obj1.value;
 var time2=obj2.value;
 if (obj1.value!="" && obj2.value!=""){
  if (isTime(time1) && isTime(time2)){
   var d1 = new Date();
   var d2 = new Date();
   d1.setHours(timePart("hour",time1),timePart("minute",time1),timePart("second",time1))
   d2.setHours(timePart("hour",time2),timePart("minute",time2),timePart("second",time2))
   if ((d2-d1)<0){
    alert("The end time must be greater the begin time!");
    objCurrent.focus();
   }
  }
 }
}

//玡
function WebBack()
{
 window.history.back();
 //window.history.go(0);
 return false;
}

posted on 2007-05-08 22:05  大李  阅读(304)  评论(0)    收藏  举报

导航

立博名家