源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

js验证表单第二部分

  • 时间:2022-02-28 00:29 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:js验证表单第二部分
说明:JavaScript脚本,验证表单中的数据项  begin  -------------------------------------------------------------------------------  */  function checkForm(objFrm){  var len = 0;  len = objFrm.elements.length;  var i = 0;  var objCheck;  //文本框  for(i = 0; i < len; i ++){  objCheck = objFrm.elements[i];  if(objCheck.type =="text" && !f_checkTextValid(objCheck) ){  return false;  }  }  //下拉框  for(i = 0; i < len; i ++){  objCheck = objFrm.elements[i];  if(objCheck.type =="select-one" && !f_checkSelectValid(objCheck) ){  return false;  }  }  //时间段有效  if( f_checkStartAndEndDate(objFrm) == false) return false;  return true;  }  function f_checkSelectValid(obj){  //alert("check select");  if(obj.options.length <= 0){  alert("下拉选框无数据!");  return false;  }  return true;  }  function f_checkStartAndEndDate(frm){  var len = frm.elements.length;  if(len == null && len == 0) return true;  var i=0;  var temp;  var objCheck;  var objStartDate;  var objEndDate;  //alert("start date period check");  try{  for(i=0; i< len ; i++){  objCheck = frm.elements[i];  temp = objCheck.name;  if( temp.indexOf("startDate") >0 ||temp.indexOf("beginDate")>0 )  objStartDate = objCheck;  if( temp.indexOf("endDate") > 0 )  objEndDate = objCheck;  }  //alert(objStartDate.value);  //alert(objEndDate.value);  if(objStartDate.value==null || objStartDate.value =="" || objStartDate.value ==null || objStartDate.value ==""){  return true;  }  return checkTwoDate(objStartDate.value, objEndDate.value);  //alert("end date period check");  }catch(E){}  return true;  }  function f_checkTextValid(obj){  //不能为空  if(obj.getAttribute("isNeed") != null){  if(f_isNotNull(obj) == false) return false;  }  //不能超过长度  if(obj.getAttribute("maxlength") != null){  if(f_checkLength(obj) == false) return false;  }  var checkType ="";  checkType = obj.getAttribute("checkType");  if(checkType==null||checkType=="") return true;  //  if (checkType.indexOf("number") >=0){  if(f_isNumber(obj) == false)  return false;  if(f_checkNumType(obj,checkType) == false)  return false;  }  //  if (checkType.indexOf("positive") >=0){  if(f_isNumber(obj) == false)  return false;  if(f_isPositive(obj)==false)  return false;  if(f_checkNumType(obj,checkType) == false)  return false;  }  if (checkType.indexOf("date") >=0){  if(f_checkDate(obj) == false) return false;  }  /*  switch(checkType){  case "number": if(f_isNumber(obj) == false) return false;break;  case "date": if(f_checkDate(obj) == false) return false;break;  default:  }  */  return true;  }  function f_isNotNull(obj){  if(obj.value == ""){  f_alert(obj, " 不允许为空值!");  return false;  }  return true;  }  function f_isNumber(obj){  if(isNaN(obj.value)){  f_alert(obj," 应为数值类型");  return false;  }  return true;  }  function f_checkDate(obj) {  if(checkDate(obj.value) ==false){  f_alert(obj," 不是合法日期格式!");  return false;  }  return true;  }  function f_checkLength(obj){  if(getTotalBytes(obj) > Math.abs( obj.getAttribute("maxlength") ) ){  f_alert(obj," 超出长度限制!");  return false;  }  return true;  }  function  f_alert(obj,alertStr){  var fielName = obj.getAttribute("fieldName");  if(fielName == null)  fielName = "";  alert(fielName + "\n" +alertStr);  obj.select();  obj.focus();  }  function f_checkNumType(obj, numType){  //假设: 已经进行数字类型判断  var strTemp;  var numpric;  var numLen;  var strArr;  var defaultLen = 19;  var defaultpric = 5;  try{  if(numType == null|| numType =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric);  if(numType.indexOf("(") < 0 || numType.indexOf(")") < 0 ) return f_checkNumLenPrec(obj,defaultLen, defaultpric);  strTemp = numType.substr( numType.indexOf("(") + 1 ,numType.indexOf(")") - numType.indexOf("(") -1 );  if(strTemp == null||strTemp =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric);  strArr = strTemp.split(",");  numLen = Math.abs( strArr[0] );  numpric = Math.abs( strArr[1] );  return f_checkNumLenPrec(obj,numLen, numpric);  }catch(e){  alert("in f_checkNumType = " + e);  return f_checkNumLenPrec(obj,defaultLen, defaultpric);  }  }  function f_checkNumLenPrec(obj, len, pric){  var numReg;  var value = obj.value;  var strValueTemp, strInt, strDec;  //alert(value + "=====" + len + "====="+ pric);  try{  numReg =/[\-]/;  strValueTemp = value.replace(numReg, "");  strValueTemp = strValueTemp.replace(numReg, "");  //整数  if(pric==0){  numReg =/[\.]/;  //alert(numReg.test(value));  if(numReg.test(value) == true){  f_alert(obj, "输入必须为整数类型!");  return false;  }  }  if(strValueTemp.indexOf(".") < 0 ){  //alert("lennth==" + strValueTemp);  if(strValueTemp.length >( len - pric)){  f_alert(obj, "整数位不能超过"+ (len - pric) +"位");  return false;  }  }else{  strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );  //alert("lennth==" + strInt);  if(strInt.length >( len - pric)){  f_alert(obj, "整数位不能超过"+ (len - pric) +"位");  return false;  }  strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );  //alert("pric==" + strDec);  if(strDec.length > pric){  f_alert(obj, "小数位不能超过"+  pric +"位");  return false;  }  }  return true;  }catch(e){  alert("in f_checkNumLenPrec = " + e);  return false;  }  }  function f_isPositive(obj){  var numReg =/[\-]/;  if(numReg.test(obj.value) == true){  f_alert(obj, "必须为正数!");  return false;  }  return true;  }  /*  function selectedCheckboxCount(form)  功能说明:对Form中选中的可选项计数  参数说明:  form:指定的表单  */  function selectedCheckboxCount(form){  var length =0;  var i=0;  var count =0;  eles = form.elements;  while(i<eles.length){  obj= eles.item(i);  //type = obj.attributes.item("type").nodeValue;  type = obj.type;  if(type == "checkbox"){  if(obj.checked){  count++;  }  }  i++;  }  return count;  }  //得到字节长度  function getByteLen(str)  {  var l = str.length;  var n = l;  for ( var i=0; i<l; i++ )  if ( str.charCodeAt(i) <0 || str.charCodeAt(i) >255 )  n=n+1;  return n  }  /*  说明:  1.清除表格中的数据(0.0 和 0)  2.如果cell中没有数据,则自动加上一个空格  3.清除空白行的checkbox  参数:  clearzero:是否清除"0"、"0.0",false不清除、true清除(默认为true)  tablename:要清除的表格名字,默认为sortTable  */  function clear_table(clearzero,tablename)  {  var tobject;  if(tablename==null)  tobject=gmobj("sortTable");  else  tobject=gmobj(tablename);  //如果table未定义,则不进行过滤  if(tobject==null)  return;  //如果函数调用参数为空,表示要清除0、0.0;反之,不要清除0、0.0。  var clear = (clearzero==null)?true:clearzero;  //清除0、0.0,填补空格  var rows = tobject.rows;  var j=0;  for(var i=0;i<rows.length;i++)  {  //取得第一个cell的属性clear,如果为1,表示该行没有数据,则清除该行所有数据  while(tobject.rows[i].cells[j] != null)  {  if(clear)  {  if(tobject.rows[i].cells[j].innerHTML==0 ||tobject.rows[i].cells[j].innerHTML==0.0||tobject.rows[i].cells[j].innerHTML=="")  tobject.rows[i].cells[j].innerText=" ";  }  else  {  if (tobject.rows[i].cells[j].innerHTML=="")  tobject.rows[i].cells[j].innerText=" ";  }  j++;  }  j=0;  }  return true;  }  function gmobj(mtxt)  /* Get object by object name */  {  if (document.getElementById) {  m=document.getElementById(mtxt);  } else if (document.all) {  m=document.all[mtxt];  } else if (document.layers) {  m=document.layers[mtxt];  }  return m;  }  /*  -------------------------------------------------------------------------------  说明:JavaScript脚本,验证表单中的数据项  end  -------------------------------------------------------------------------------  */  /*  用途:检查输入字符串是否是带小数的数字格式,可以是负数(并且满足规定的精度)  输入:str:字符串  l:总位数  d:小数点后位数  返回:  如果通过验证返回true,否则返回false  */  function isDecimal( str,l,d ){    if(isInteger(str)) {  if (l==null)  return true;  if (str<0) l--;  if (str.length<=l) return true;  }  var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;  if (re.test(str)) {  if (l==null)  return true;  if (d==null) d=0;  if(RegExp.$1==0&&RegExp.$2==0) return false;  if (RegExp.$1.length+RegExp.$2.length<=l  && RegExp.$2.length<=d)  return true;  }  return false;  }  onclick="isNull('Co.PageForm.CompetitorName');"  Co--指本页面   PageForm--指formName  CompetitorName---指的是文本栏名 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部