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

📄 validate.js

📁 客户
💻 JS
📖 第 1 页 / 共 2 页
字号:
var DHTML = (document.getElementById || document.all || document.layers);

var DEFAULT_MIN = 0 ;
var DEFAULT_MAX = 10000000000 ;
var DEFAULT_DECIMAL_PLACE = 2 ;
//var DEFAULT_DATE_FORMAT = "dd-MM-yyyy" ;
var DEFAULT_DATE_FORMAT = "yyyy-MM-dd" ;
var orgColor = "black" ;
var ErrMsg = "" ;
var sErrMsg = "";

function getObj(name){
  if (document.getElementById) {
    if(!isNull(document.getElementById(name)))
      return document.getElementById(name).style;
  } else if (document.all) {
    if(!isNull(document.all[name]))
      return document.all[name].style;
  } else if (document.layers) {
    return document.layers[name];
  }
  return null;
}

function changeColor(sLabelId, clsName) {
  sLabelId = sLabelId + "_label" ;
  var retVal = "";
  if (typeof sLabelId != "undefined") {
    var sLabelArray = sLabelId.split(",");
    for (var i=0; i<sLabelArray.length; i++) {
      var oLabel = document.all(sLabelArray[i]);
      if (typeof oLabel != "undefined") {
        oLabel.className = clsName;
        retVal += oLabel.innerHTML;
        if (i<sLabelArray.length-1) retVal += ", ";
      }
    }
  }
  return retVal;
}

function changeCol(obj,col)
{
  if (!DHTML) return;
  var x = getObj(obj+"_label");
  if(!isNull(x)){
    x.color = col;
    return x.innerHTML ;
  }
}

function validate(form)
{	
  ErrMsg = "" ;
  sErrMsg = "" ;
  var sCustomFunction = null ;
  
  var arg = validate.arguments ;
  if(arg==null) 
  {
    return false ;  
  }
  var oForm = arg[0] ;
 
  if (arg.length > 1) sCustomFunction = arg[1];
  if (sCustomFunction != null) 
  {
    var result = checkError(oForm) ;
    var custResult = eval(sCustomFunction) ;
    showWindow() ;
    return result && custResult ;
  }
  else
  {
    var result = checkError(oForm) ; 
    showWindow() ;
    return result ;
  }
}

function showWindow()
{
  if(sErrMsg!="" || ErrMsg!="")
  {
    sHearder = "<tr class=\"lfRowHead\"><td><span>字段</span></td><td>错误</td></tr>" ;
    sErrMsg = "<body class=\"ifTableBg\"><table width=\"100%\" class=\"bg_listing\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">" + sHearder + sErrMsg ;
    sErrMsg += ErrMsg ;
    sErrMsg += "</table></body>";
    if(myWindow!=null && !myWindow.closed) {
      myWindow.close();
    }
    myWindow = window.open("","err","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=500,height=200");
    myWindow.document.write("<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"/css/Styles.css\" >");
    myWindow.document.write("<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"/css/iccs.css\" >");
    myWindow.document.write(sErrMsg) ;
    return false ;
  }
}
function getNextElement(form,i){
  var objectName = form.elements[i].name ;
  for(var j=i+1;j<form.elements.length;j++){
    var o = form.elements[j] ;
    var tempArray = getPara(o.name) ;    
	
    if(o.type.toUpperCase()=="HIDDEN" && tempArray[0]==objectName){
      return o ;
    }
  }
  return null ;
}

function getErr(sLabel,errmgr)
{
  return "<tr class=\"bg_white\"><td><span class=\"label\">" + sLabel + "</span></td><td>" + errmgr + "</td></tr>\n";
}

function checkText(o, strArray, paraObject) 
{

  var value = o.value ;
  var type = strArray[2] ;
  var shortName = strArray[0] ;
  arrLength = strArray.length ;    
  if(type!="bypass" && arrLength>=1)
  { //bypass the check
    if(isNull(value)){        
      if(strArray[1]=="notnull")
      {
        var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
        return getErr(sThisFieldLabel,"输入域的值 不能为空") ;
      }
      else{
        changeColor(shortName, "label") ;
      }
    }
    else{
      if(withInValidStr(o.value))
      {
        var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
        return getErr(sThisFieldLabel,"数据值无效") ;
      }
      if(type=="long")
      {
        if(!(isIntegerChar(value) && value.indexOf(".")<0))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
		  return getErr(sThisFieldLabel,"数据值无效,只接受整数") ;
        }
        if(!isWithRange(strArray[3],strArray[4],value))
        {
          return getErr(sThisFieldLabel,"数值由" + strArray[3] + "至" + strArray[4] ) ;
        }
        changeColor(shortName, "label") ;
        
        /*if(!isValidLong(strArray[3],strArray[4],value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,paraObject.errmgr) ;
        }
        else{
          changeColor(shortName, "label") ;
        } */       
      }
      if(type=="text")
      {
        if( (!isNull(strArray[3]) && value.length < strArray[3]))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"输入量要超过"+strArray[3]+"个字元") ;
        }
        if((!isNull(strArray[4]) && value.length>strArray[4]))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"超过了"+strArray[4]+"个字元的最大输入量") ;            
        }
        changeColor(shortName, "label") ;
      }
      else if(type=="date")
      {
        var dFormat = isNull(strArray[3]) ? DEFAULT_DATE_FORMAT : strArray[3] ;
        var dataDate = getValidDate(value,dFormat) ;
        if(dataDate==null)
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"日期无效 "+ dFormat) ;
          //return getErr(sThisFieldLabel,paraObject.errmgr) ;
        }
        else{
          var fromDate = isNull(strArray[4]) ? null : getValidDate(strArray[4],dFormat) ;
          var toDate = isNull(strArray[5]) ? null : getValidDate(strArray[5],dFormat) ;
          if((fromDate!=null && fromDate>dataDate) || toDate!=null && dataDate>toDate)
          {
            var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
            //return getErr(sThisFieldLabel,paraObject.errmgr) ;
            return getErr(sThisFieldLabel,"日期无效 "+ dFormat) ;
          }
          else
          {
            changeColor(shortName, "label") ;
          }
        }
      }        
      else if(type=="float" || type=="quantity" || type=="price")
      {
        if(!(isIntegerChar(value) && !isMoreThanOnce(value,".") ))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"数据值无效,只接受数字和字符\".\"") ;
        }        
        if(!isWithRange(strArray[3],strArray[4],value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;          
          return getErr(sThisFieldLabel,"数值由 " + strArray[3] + " 位至 " + strArray[4] + " 位" ) ;
        }
        if(!isNull(strArray[5]) && !(getDecimalPlace(value)<=strArray[5]))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;          
          return getErr(sThisFieldLabel,"小数位为"+strArray[5] ) ;
        }
        changeColor(shortName, "label") ;
        
        /*if(!isValidFloat(strArray[3],strArray[4],DEFAULT_DECIMAL_PLACE,value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,paraObject.errmgr) ;
        }
        else
        {
          changeColor(shortName, "label") ;
        }*/
      }
      else if(type=="alphabetic")
      {
        if(!isAlphabetic(value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"数据值无效 (只接受数据 A-Z a-z)") ;
        }
        changeColor(shortName, "label") ;
      }
      else if(type=="phonecode")
      {
        if(!isPhoneCode(value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"数据值无效 (只接受数字 0-9 以及字符 \"-\")") ;
        }
        changeColor(shortName, "label") ;
      }
      else if(type=="numberCode")
      {
        if(!isNumberCode(value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"数据值无效 (只接受数字 0-9 )") ;
        }
        changeColor(shortName, "label") ;
      }
      else if(type=="englishcode")
      {
        if(!isEnglishCode(value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"数据值无效 (只接受英文字符!)") ;
        }
        if( (!isNull(strArray[3]) && value.length < strArray[3]))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"输入量要超过"+strArray[3]+"个字元") ;
        }
        if((!isNull(strArray[4]) && value.length>strArray[4]))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"超过了"+strArray[4]+"个字元的最大输入量") ;            
        }
        changeColor(shortName, "label") ;
      }
      else if(type=="alphanumeric")
      {
        if(!isAlphanumeric(value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"数据值无效 (只接受数据 A-Z a-z 0-9)") ;
        }
        changeColor(shortName, "label") ;
      }
      else if(type=="email")
      {
        if(!isValidEmail(value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,"电子邮件无效") ;
        }
        changeColor(shortName, "label") ;
      }      
      else if(type=="yesno")
      {
        if(!isYesNo(value))
        {
          var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
          return getErr(sThisFieldLabel,paraObject.errmgr) ;
        }
        else
        {
          changeColor(shortName, "label") ;
        }
      }
      else 
      {
        changeColor(shortName, "label") ;
      }
    }
  }
  return "" ;
}

function checkPassword(o, strArray, paraObject)
{
  var value = o.value ;
  var shortName = strArray[0] ;

  if(isNull(value) && strArray[1]=="notnull")
  {    
    var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
    return getErr(sThisFieldLabel,"数据值不能为空") ;  
  }

  if(!isNull(value) && !isValidPassword(value,strArray[2]))
  {
    var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
    return getErr(sThisFieldLabel,"字元的最小输入量为"+strArray[2]) ;
  }

  changeColor(shortName, "label") ;
  return "" ;
}

function checkCheckBox(o, strArray, form, paraObject)
{
  var value = o.value ;
  var shortName = strArray[0] ;
  if(!isCheckboxChecked(o,form) && strArray[1]=="notnull")
  {
    var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
    return getErr(sThisFieldLabel,paraObject.errmgr) ;
  }
  else
  {
    changeColor(shortName, "label") ;
    return "" ;
  }
}

function checkRadio(o, strArray, form, paraObject)
{
  var value = o.value ;
  var shortName = strArray[0] ;
  if(!isRadioChecked(o,form) && strArray[1]=="notnull")
  {
    var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
    return getErr(sThisFieldLabel,paraObject.errmgr) ;
  }
  else
  {
    changeColor(shortName, "label") ;
    return "" ;
  }
}

function checkSelectMultiple(o, strArray, paraObject)
{
  var value = o.value ;
  var shortName = strArray[0] ;
  if(!isSelect(o) && strArray[1]=="notnull")
  {
    var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
    return getErr(sThisFieldLabel,paraObject.errmgr) ;
  }
  else
  {
    var count = 0 ;
    for(var i=0;i<o.options.length;i++)
    {
      if(o.options[i].selected)
      {
        count++ ;
      }
    }
    if(count<strArray[2] || count>strArray[3])
    {
      var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
      return getErr(sThisFieldLabel,paraObject.errmgr) ;
    }
    changeColor(shortName, "label") ;
    return "" ;
  }
}

function checkSelect(o, strArray, paraObject)
{
  var value = o.value ;
  var shortName = strArray[0] ;
  if((!isNull(strArray[1]) && strArray[1]>o.selectedIndex) || (!isNull(strArray[2]) && strArray[2]<o.selectedIndex))
  {
    var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
    return getErr(sThisFieldLabel,paraObject.errmgr) ;
  }
  else{
    changeColor(shortName, "label") ;
    return "" ;
  }
}

function checkTextArea(o, strArray, paraObject)
{
  var value = o.value ;
  var shortName = strArray[0] ;
  
  if(value.length<1 && strArray[1]=="notnull") 
  {
    var sThisFieldLabel = changeColor(shortName, "inValidLabel") ;
    return getErr(sThisFieldLabel,"数据值不能为空") ;   
  }
  
  if(withInValidStr(o.value))

⌨️ 快捷键说明

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