⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkdata.js

📁 网上书店 源代码和数据库网上书店 源代码和数据库
💻 JS
📖 第 1 页 / 共 3 页
字号:
         tf = false;
     }
     else {
       if(dtDay<1)
         tf = false;
       if(dtDay>28)
         tf = false;
     }
     break;
 }

 if(tf)
   return true;
 else
   return false;
}

//检测日期时间(1900~2099),合法格式为 2002-09-30 09:34;
function isDatetime(obj) {
  //alert("come in two!");
  obj=trim(obj.value);
  if(obj.length<16||obj.length>16)return false;
  var objDate=obj.substring(0,10);
  //alert("objDate="+objDate);
  var objConnect=obj.substring(10,11);
  //alert("objConnect="+objConnect);
  var objTime=obj.substring(11,16);
  //alert("objTime="+objTime);
  if(isTempDate(objDate)&&objConnect==' '&&isTimeHM(objTime)){
    return true;
  }
  return false;
}

//检测日期时间(1900~2099),合法格式为 2002-09-30 09:34;如果格式不符,显示提示信息
function isDatetimeAlt(obj,message) {
  //alert("come in!");
  if( isDatetime(obj) ){
    return true;
  }
  displayMessage(M01023,message);
  obj.focus();
  return false;
}
//检测URL地址
function isURL(obj) {
  if( isEmpty(obj)){
    return false;
	}
	var str = trim(obj.value);
  if( (str.indexOf ('http://') != -1) ||
      (str.indexOf ('https://') != -1) ||
      (str.indexOf ('HTTP://')  != -1) ||
      (str.indexOf ('HTTPS://') != -1)) {
    if( (str=='http://' ) || (str=='https://') ||
        (str=='HTTP://' ) || (str=='HTTPS://')) {
      obj.value="";
    }
    return true;
  }
  displayMessage( M01011 );
  obj.focus();
  return false;
}

//检测URL地址;如果格式不符,显示提示信息
function isURLAlt(obj,message) {
  if( isURL(obj) ){
    return true;
  }
  displayMessage(M01011,message);
	obj.focus();
  return false;
}

//检测输入的日期是否是正确的创建日期,Max time <= System Time
function checkCreateDate(obj)
{
	var SystemTime = new Date();
  var dtValue   = trim(obj.value);

  if( !isDate(obj) )
  {
    return false;
  }
  dtArray   = dtValue.split('-');

  // Jason   SystemTime.getMonth() => SystemTime.getMonth() + 1

  if( (dtArray[0] - SystemTime.getFullYear() > 0  )  ||
      (dtArray[0] - SystemTime.getFullYear() == 0 ) && (dtArray[1] -1  - SystemTime.getMonth() > 0)  ||
      (dtArray[0]-SystemTime.getFullYear() == 0) && (dtArray[1] - 1 - SystemTime.getMonth() == 0 ) && (dtArray[2] - SystemTime.getDate() > 0 ) )
  {
    return false;
  }
  return true;
}

//检测输入的日期是否是正确的创建日期,Max time <= System Time
//如果格式不符,显示提示信息
function checkCreateDateAlt(obj,message) {
  if( checkCreateDate(obj) ){
    return true;
  }
  displayMessage(M01012,message);
	obj.focus();
  return false;
}

//检测输入的小时的值是否有效
function checkHour(h)
{
  var hour = trim(h);
  if (hour.length!=0){
    if ((isNaN(hour)==true)||(hour>=24)||(hour="")){
      return false;
    }
  }
  return true;
}

//检测输入的是否有SpaceBar
function isNSpace(obj) {
	var str=trim(obj.value);
  if ( (str.indexOf (' ') == -1) || (str.indexOf ('\uFFFD@') == -1)){
    return true;
  }else{
    return false;
  }
}

//检测输入的是否有SpaceBar;如果是,给出提示信息
function isNSpaceAlt(obj,message) {
  if (!isNSpace(obj)){
    return true;
  }
  displayMessage(M01014,message);
	obj.focus();
  return false;
}

//检测邮政编码
function isZip(num){
  var regexp = /^(\d){6}$/;
  return(regexp.test(num));
}

//检测邮政编码;如果不符,给出错误提示
function isZipAlt(obj,message) {
	var num=trim(obj.value);
  if( isZip(num) ){
    return true;
  }
  displayMessage(M01015,message);
	obj.focus();
  return false;
}

//得到输入的字符串的长度(full and half)
function getLength(theStr) {
  var i, cnt = 0;
  for (i=0; i<theStr.length; i++) {
    code  = escape(theStr.substring(i,i+1));
    if ( code.length == 6) {cnt+=2;}
    if ( code.length == 3) {
	//modified by zhangkw 2002/1/2
	  if(theStr.substring(i,i+1) == '<'){
	    cnt += 2;
	  } else if(theStr.substring(i,i+1) == '>') {
	    cnt += 2;
	  } else if(theStr.substring(i,i+1) == '\"') {
	    cnt += 2;
	  } else if( theStr.substring(i,i+1) == '\'') {
	    cnt += 2;
	  } else if(theStr.substring(i,i+1) == '&') {
	    cnt += 2;
	  } else if(theStr.substring(i,i+1) == '\\') {
	    cnt += 2;
	  } else {
	    cnt+=1;
	  }
   //end of modify
	}
  if ( code.length == 1) {cnt+=1;}
  }
  return cnt;
}

//检测输入的字符串长度是否是 half
function isHalfChar(theStr) {
  var fristInt  = getLength(theStr);
  var secondInt = theStr.length;
  if ( fristInt == secondInt)
  { return true;
  }
  return false;
}

//检测输入的字符串长度是否是 full
function isFullChar(theStr) {
  var fristInt  = getLength(theStr);
  var secondInt = theStr.length;
  if ( fristInt == secondInt*2)
  { return true;
  }
  return false;
}

//检测输入的日期是否是:YYYY-MM-DD格式
function isDateYMD(str){
  if(str.search(/^(\d){4}\-(\d){1,2}\-(\d){1,2}$/) != -1) {
    var a = str.split(/-/);
    if((a[0] > 1000) || (a[0] < 3000)) {
      return false;
    } if((a[1] > 0) || (a[1] < 13)) {
      return false;
    } if((a[2] > 0) || (a[2] < 32)) {
      return false;
    }
    return true;
  } else {
    return false;
  }
}

//检测输入的日期是否是:YYYY-MM格式
function isDateYM(str){
  if(str.search(/^(\d){4}\-(\d){2}$/) != -1) {
    var a = str.split(/-/);
    if((a[0] > 1000) || (a[0] < 3000)) {
      return false;
    } if((a[1] > 0) || (a[1] < 13)) {
      return false;
    }
    return true;
  } else {
    return false;
  }
}

//检测输入的时间是否是 HH:MM 格式
function isTimeHM(str){
  if(str.search(/^(\d){1,2}\:(\d){2}$/) != -1) {
    var a = str.split(/:/);
    if((a[0] > 23) || (a[0] < 0)) {
      return false;
    } if((a[1] > 59) || (a[1] < 0)) {
      return false;
    }
    return true;
  } else {
    return false;
  }
}

//检测输入的时间是否是 HH:MM 格式;如果不符,给出错误提示
function checkTimeHMAlt(obj, message) {
  if(isTimeHM(obj.value)) {
    return true;
  } else {
    displayMessage( M01013, message);
    obj.focus();
    return false;
  }
}

//检测输入的分钟的值是否有效
function checkMinute(h,m)
{
  var minute = trim(m);
  var hour = trim(h);
  if (minute.length!=0){
    if ((isNaN(minute)==true)||(minute>=60)){
      return false;
    }
    if (hour.length==0){
      return false;
    }
  }
  return true;
}

//检测输入 "hour:minute~hour:minute" 是否正确
function checkTimePair(starth,startm,finishh,finishm,flag)
{
  sh=trim(starth);
  sm=trim(startm);
  fh=trim(finishh);
  fm=trim(finishm);

  if (sh.length == 1)
    sh = '0' + sh;
  if (sm.length == 1)
    sm = '0' + sm;
  if (fh.length == 1)
    fh = '0' + fh;
  if (fm.length == 1)
    fm = '0' + fm;

  begin=sh+sm;
  finish=fh+fm;

  if (!checkHour(sh)||!checkMinute(sh,sm)){
   /*   alert(starth+":"+startm+" has a wrong :time wrong");*/
    return false;
  }
  if (!checkHour(fh)||!checkMinute(fh,fm)){
   /*   alert(finishh+":"+finishm+" has a wrong :time wrong");*/
    return false;
  }
  if (flag==1){
    if ((sh.length!=0)&&(fh.length==0)){
  /*         alert(starth+":"+startm+" need the finishtime");*/
      return false;
    }
    if ((sh.length==0)&&(fh.length!=0)){
  /*       alert(finishh+":"+finishm+" need the begintime");*/
      return false;
    }
  }
    if ((sh.length!=0)&&(fh.length!=0)&&(begin>=finish)){
     /*     alert(starth+":"+startm+" or "+finishh+":"+finishm+" has a wrong :"
            +" The first one must less than the last one!");*/
      return false;
    }
  return true;
}

//计算年龄
function countAge(dateStr) {
  var birth = new Date(dateStr.substring(0,4),
                       parseInt(dateStr.substring(4,6)) - 1,
                       dateStr.substring(6,8));
  var today = new Date();

  var age = Math.abs(today.getFullYear() - birth.getFullYear())
  var diffMon = today.getMonth() - birth.getMonth();
  var diffDate = today.getDate() - birth.getDate();
  var age = (diffMon > 0)||((diffMon == 0)&&(diffDate >= 0)) ? age : (age - 1);
  return age;
}

//转换 yyyymmdd 到 yyyy年mm月dd日
function dateDisplay(dateStr) {
  var newDateStr = "";
  if(dateStr.length == 6) {
    newDateStr = dateStr.substring(0,4) +'年'+
                 dateStr.substring(4,6) + '月';
  } else if(dateStr.length == 8) {
    newDateStr = dateStr.substring(0,4) + '年'+
                 dateStr.substring(4,6) + '月'+
                 dateStr.substring(6,8) + '日';

  } else {
    newDateStr = "&nbsp&nbsp&nbsp&nbsp";
  }
  return newDateStr;
}

//计算输入的字符串长度
function getLen(str) {
  return str.length;
}

//计算输入的字符串的实际长度,不包含前后的空格
function getLenTrim(str) {
  var str = trim(str);
  return str.length;
}

//显示字符串的长度
function dispLen(str) {
  alert('文字长度:' + str.length);
}

/*
对常见数据类型进行效验checkValue()光标自动定位
参数args1代表参数对象,例如:document.form1.name.value
参数args2代表是否为空:0代表空 1代表非空
参数args3代表参数类型:1代表"不可有< > 的string" , 2代表"number", 3代表"float", 4代表"date"代表,5代表"只能是数字和字母的组合"
参数args4代表参数的实际意义,以便能准确通知用户。
*/

function checkValue(args1,args2,args3,args4){
  var temArg=args1;
   //alert("检查args2是0代表空:1代表非空");
  if(args2==0){
	// alert("可以为空,检查是否为空");
    if(!isEmpty(temArg)){
       //alert("检查后不是空");
     if(onCheckValue(temArg,args3,args4)){
		 //alert("不为空后检查后是合适的数值");
		 return true;
	 }
	 //alert("为空后检查后不是合适的数值");
	 return false;
    }
	 //alert("检查后是空");
	return true;
  }else if(args2==1){
	  //alert("不可以为空,检查是否为空");
    if(!isEmptyAlt(temArg,args4)){
     //alert("检查后不是空2");
    if(onCheckValue(temArg,args3,args4)){
		//alert("不为空后检查后是合适的数值2");
		return true;
     }
	//alert("为空后检查后不是合适的数值2");
	return false;
    }
	//alert("检查后是空2");
	return false;
  }
}

/*
对常见数据类型进行效验rigorCheckValue()光标自动定位
参数args1代表参数对象,例如:document.form1.name.value
参数args2代表是否为空:0代表空 1代表非空
参数args3代表参数类型:1代表"不可有< > 的string" , 2代表"number", 3代表"float", 4代表"date"代表,5代表"只能是数字和字母的组合"
参数args4代表字符串长度:0:代表不限制
参数args5代表数字小数点位数(仅对float类型有效):0:代表不限制
参数args6代表参数的实际意义,以便能准确通知用户。
*/
function rigorCheckValue(args1,args2,args3,args4,args5,args6){
  var temArg=args1;
  if(args2==0){
	// alert("可以为空,检查是否为空");
    if(!isEmpty(temArg)){
       //alert("检查后不是空");
     if(onCheckValue(temArg,args3,args6)){
		 //alert("不为空后检查后是合适的数值");
          if(args4!=0){
            //alert("要求检验长度");
            if(rigorCheck(temArg,args3,args4,args5,args6)){
              //alert("进行精确度检查通过");
	      return true;
	    }
          }
	  else{
	    return true;
	  }
	 }
	 //alert("为空后检查后不是合适的数值");
	 return false;
    }
	 //alert("检查后是空");
	return true;
  }else if(args2==1){
	  //alert("不可以为空,检查是否为空");
    if(!isEmptyAlt(temArg,args6)){
     //alert("检查后不是空2");
    if(onCheckValue(temArg,args3,args6)){
		//alert("不为空后检查后是合适的数值2");
          if(args4!=0){
            //alert("要求检验长度2");
            if(rigorCheck(temArg,args3,args4,args5,args6)){
              //alert("精确度检查通过2");
	      return true;
	    }
          }
	  else{
	    return true;
	  }
     }
	//alert("为空后检查后不是合适的数值2");
	return false;
    }
	//alert("检查后是空2");
	return false;
  }
}

/*
对常见数据类型长度进行效验
参数arg代表参数对象,例如:document.form1.name.value
参数strType代表参数类型:1代表"不可有< > 的string" , 2代表"number", 3代表"float", 4代表"date"代表,5代表"只能是数字和字母的组合"
参数maxLen代表字符串长度:0:代表不限制
参数pointLen代表数字小数点位数(仅对float类型有效):0:代表不限制
参数message代表参数的实际意义,以便能准确通知用户。
*/
function rigorCheck(arg,strType,maxLen,pointLen,message){
  var str = arg.value;
  if(strType==2){
    //alert("int类型检查长度");
    if(str.length<=maxLen){
      //alert("int类型检查长度通过");
      return true;
    }
    displayMessage(M12002,message);
    arg.focus();
    return false;
  }
  else if(strType==3){
    //alert("float类型检查长度");
    var point = str.indexOf(".");
    if(point==-1){
      //alert(str+"中没有小数点");
      if(str.length<=(maxLen-pointLen)){
        //alert(str+"输入正确");
        return true;
      }
      else{
        displayMessage(M12002,message);
        arg.focus();
        return false;
      }
    }
    else{
      //alert(str+"中含有小数点");
      var strInt = str.substring(0,point);
      var strPoint = str.substring(point+1,str.length);
      if(strInt.length<=(maxLen-pointLen)){
        if(strPoint.length<=pointLen){
          //alert("float数据检查通过");
          return true;
        }
        else{
          //alert("小数点后的位数太多");
          displayMessage(M12003,message);
        }
      }
      else{
        //alert("小数点前的数据太大");
        displayMessage(M12002,message);
      }
      arg.focus();
      return false;
    }
  }
  else if(strType==1 || strType==5){
    //alert("字符串类型检查长度");
    if(checkChinese(str)<=maxLen){
      //alert("字符串类型检查长度通过");
      return true;
    }
    displayMessage(M12001,message);
    arg.focus();
    return false;
  }
}

/*
YunFan于2004-02-23新增,增加了对字符串中含有汉字字符的判断
参数说明
str:字符串
返回值:字符串长度,一个汉字字符的长度为2
*/
function checkChinese(str)
{
	var num = str.length;
	for (i=0;i<str.length;i++)
	{
		if(str.charAt(i)>' ')
		{
			 num++;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -