﻿function isBlank(field, strBodyHeader) {
    strTrimmed = trim(field.value);
    if (strTrimmed.length > 0) return false;
    alert("\"" + strBodyHeader + "\"不能为空！");
    //field.focus();
    return true;
}
function isEmail(field, strBodyHeader){
    emailStr = field.value;
    if(emailStr.length == 0) return true;
    if(!checkEmail(emailStr)) {
        alert(strBodyHeader + "地址无效!");
        //field.focus();
        return false;
    }
    return true;
}
function checkGoodName(str, desc) {
    s = trim(str);
    len = s.length; 
    for (i = 0; i < len; i++) {
        b = s.charCodeAt(i);
        if ((b >= toInt('a')) && (b <= toInt('z'))) { // not a cast, it's a function.
            // low chars
        } else if ((b >= toInt('A')) && (b <= toInt('Z'))) {
            // up chars
        } else if ((b >= toInt('0')) && (b <= toInt('9'))) {
            // numbers 
        } else if (( (b==toInt('_')) || (b==toInt('.')) || (b==toInt('@')) ) && (i != 0)) {
            // very litte special chars
        } else {
            alert(desc + " \"" + s +  "\" " + "无效. 无效字符为： \"" + s.charAt(i) + "\""); 
            return false;
            // not good name error
        }
    }
    return true;
}

function toInt(c) {
  return c.charCodeAt(0);
}

function checknum(p, n) { 
  var l = p.length; 
  var count=0; 
  for(var i=0; i<l; i++) { 
    var digit = p.charAt(i); 
    if(digit == "." ) { 
      ++count; 
      if(count>1) {
	    alert ("\"" + n + "\": 必须为正整数！"); 
        return false; 
      } 
    } else if(digit < "0" || digit > "9") {
	    alert ("\"" + n + "\": 必须为正整数！"); 
        return false; 
    } 
  } 
  return true;
}

function checkEmail(emailStr) {
       if (emailStr.length == 0) {
           return true;
       }
       var emailPat=/^(.+)@(.+)$/;
       var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
       var validChars="\[^\\s" + specialChars + "\]";
       var quotedUser="(\"[^\"]*\")";
       var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
       var atom=validChars + '+';
       var word="(" + atom + "|" + quotedUser + ")";
       var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
       var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
       var matchArray=emailStr.match(emailPat);
       if (matchArray == null) {
           return false;
       }
       var user=matchArray[1];
       var domain=matchArray[2];
       if (user.match(userPat) == null) {
           return false;
       }
       var IPArray = domain.match(ipDomainPat);
       if (IPArray != null) {
           for (var i = 1; i <= 4; i++) {
              if (IPArray[i] > 255) {
                 return false;
              }
           }
           return true;
       }
       var domainArray=domain.match(domainPat);
       if (domainArray == null) {
           return false;
       }
       var atomPat=new RegExp(atom,"g");
       var domArr=domain.match(atomPat);
       var len=domArr.length;
       if ((domArr[domArr.length-1].length < 2) ||
           (domArr[domArr.length-1].length > 3)) {
           return false;
       }
       if (len < 2) {
           return false;
       }
       return true;
    }