//数据完整性检查开始
/* 取得字符串的字节长度 */
function strlen(str)
{
  var i;
  var len;
  len = 0;
  for (i=0;i<str.length;i++)
  {
    if (str.charCodeAt(i)>255) len+=2; else len++;
  }
  return len;
}
/* 检测字符串是否为空 */
function isnull(str)
{
  var i;
  for (i=0;i<str.length;i++)
  {
    if (str.charAt(i)!=' ') return false;
  }
  return true;
}
/* 检测字符串是否全为数字 */
function isnumber(str)
{
  var number_chars = "1234567890";
  var i;
  for (i=0;i<str.length;i++)
  {
    if (number_chars.indexOf(str.charAt(i))==-1) return false;
  }
  return true;
}
/* 检测指定文本框输入是否合法 */
function verifyInput(input)
{
  var image;
  var i;
  var error = false;
  /* 长度校验 */
  if (strlen(input.value)>parseInt(input.getAttribute("maxsize")))
  {
    alert(input.getAttribute("chname")+"超出最大长度"+input.getAttribute("maxsize"));
    error = true;
  }
  else
    if (input.getAttribute("nullable")=="no"&&isnull(input.value))
    {
      alert(input.getAttribute("chname")+"不能为空");
      error = true;
    }
    else
      /* 非空校验 */
      if (strlen(input.value)<parseInt(input.getAttribute("minsize")))
      {
        alert(input.getAttribute("chname")+"小于最小长度"+input.getAttribute("minsize"));
        error = true;
      }
      else
      {
       /* 数据类型校验 */
        switch(input.getAttribute("datatype"))
        {
          case "number": if (isnumber(input.value)==false)
          {
            alert(input.getAttribute("chname")+"值应该全为数字");
            error = true;
           }
           break;
           /* 在这里可以添加多个自定义数据类型的校验判断 */
           /*  case datatype1: ... ; break;        */
           /*  case datatype2: ... ; break;        */
           /*  ....................................*/
           default:break;
        }
      }
  /* 根据有无错误设置或取消警示标志 */
  if (error)
  {
    input.focus();
    return false;
  }
  else
  {
    return true;
  }
}
/* 检测指定FORM表单所有应被检测的元素
（那些具有自定义属性的元素）是否合法，此函数用于表单的onsubmit事件 */
function verifyAll(myform)
{
  var i;
  for (i=0;i<myform.elements.length;i++)
  {
    /* 非自定义属性的元素不予理睬 */
    if (myform.elements[i].getAttribute("chname") == undefined || myform.elements[i].style.display == 'none') continue;
    /* 校验当前元素 */
    if (verifyInput(myform.elements[i])==false)
    {
      myform.elements[i].focus();
      return false;
    }
  }
  return true;
}
//数据完整性检查结束
