/**
* 去掉前后空格
*/
function Trim(str)
{
  return str.replace(/(^\s*)|(\s*$)/g,"");
}

/**
* 判断是否为空
*/

function checkHasValue(item , viewName){
    if (Trim(item.value).length == 0){
        alert(viewName+"的值不能为空！");
        item.focus();
        return false;
    }
    return true;
}

/**
* 判断最小长度
*/
function checkMinSize(item , viewName , minSize){
    if (item.value.length < minSize){
        alert(viewName + "的值的长度不能小于" + minSize + "！");
        item.focus();
        return false;
    }
    return true;
}

/**
* 判断最大长度
*/
function checkMaxSize(item , viewName , maxSize){
	if (item.value.length > maxSize){
		alert(viewName + "的值的长度不能大于" + maxSize + "！");
		item.focus();
		return false;
	}
	return true;
}

/**
* 判断长度范围
*/
function checkSize(item , viewName , minSize , maxSize){
    if (item.value.length > maxSize || item.value.length < minSize){
        alert(viewName + "的值的长度应在" + minSize + "和" + maxSize + "之间！");
        item.focus();
        return false;
    }
    return true;
}


/**
* 判断是否是数字
*
*/
function checkNumber(item , viewName){
     checkStr = item.value;
	 if (!checkStr.match("^[0-9]*[1-9][0-9]*$") && !checkStr.match("^((-\\d+)|(0+))$") && !checkStr.match("^\\d+(\\.\\d+)?$") && !checkStr.match("^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$")){
		 alert(viewName +"只能输入数字！");
		 item.focus();
         return false;
	 }
     return true;
}

/**
* 判断是否整数
*/
function checkInt(item , viewName){
     checkStr = item.value;
     if (!checkStr.match("^-?\\d+$")){
         alert(viewName +"只能输入整数！");
         item.focus();
         return false;
	 }
     return true;
}

/**
* 判断是否正整数
*/
function checkPInt(item , viewName){
     checkStr = item.value;
     if (!checkStr.match("^[1-9]+[0-9]*$")){
         alert(viewName +"只能输入正整数！");
         item.focus();
         return false;
     }
     return true;
}

/**
* 判断是否非负整数
*/
function checkNotNInt(item , viewName){
     checkStr = item.value;
     if (!checkStr.match("^[0-9]+$")){
         alert(viewName +"只能输入非负整数！");
         item.focus();
         return false;
     }
     return true;
}

/**
* 判断日期格式     YYYY-MM-DD
*/
function  checkDate(strDate){
     var  strSeparator  =  "-";  //日期分隔符
     var  strDateArray;
     var  intYear;
     var  intMonth;
     var  intDay;
     var  boolLeapYear;

     strDateArray  =  strDate.split(strSeparator);

     if(strDateArray.length!=3){
               alert("时间格式不对！")
               return  false;
     }

     intYear  =  parseInt(strDateArray[0],10);
     intMonth =  parseInt(strDateArray[1],10);
     intDay   =  parseInt(strDateArray[2],10);

     if(isNaN(intYear)  ||isNaN(intMonth)  || isNaN(intDay)){
               alert("时间格式不对！");
               return  false;
     }
     if(intMonth>12  ||intMonth<1){
               alert("时间格式不对！");
               return  false;
     }
     if((intMonth==1  ||intMonth==3  ||intMonth==5  ||intMonth==7  ||intMonth==8  ||intMonth==10  ||intMonth==12)&&(intDay>31  ||intDay<1)){
               alert("时间格式不对！");
               return  false;
     }
     if((intMonth==4  ||intMonth==6  ||intMonth==9  ||intMonth==11)&&(intDay>30  ||intDay<1)){
               alert("时间格式不对！")
               return  false;
     }
     if(intMonth==2){
           if(intDay<1){
                   alert("时间格式不对！")
                   return  false;
           }
           boolLeapYear  =  false;
           if((intYear%100)==0){
                 if((intYear%400)==0)  boolLeapYear  =  true;
           }
           else{
                 if((intYear%4)==0)  boolLeapYear  =  true;
           }

           if(boolLeapYear){
                 if(intDay>29){
                       alert("时间格式不对！");
                       return  false;
               }
           }
           else{
                 if(intDay>28){
                       alert("时间格式不对！");
                       return  false;
                 }
           }
     }
     return  true;
}

/**
* 电话号码验证
*/
function checkPhone(checkStr){
    checkOkStr = "^[0-9][0-9\-]{5,20}$";
    if (!checkStr.match(checkOkStr)){
        alert("非法的电话号码");
        return false
    }
    return true;
}


/**
* 手机号码验证
*/
function checkMobile(checkStr)
{
if (checkStr.length!=11){
     alert("此为非法手机号码");
     return false
}
else if (checkStr.substring(0,2)!="13"){
    alert("此为非法手机号码");
    return false;
}
else if (isNaN(checkStr)){
     alert("此为非法手机号码");
     return false;
}

return true;
}

/**
* 邮政编码判断
*/
function isZipCode(checkStr){
if (!isEmpty(checkStr)){
    if(!isCharsInBag (checkStr, "0123456789")){
        alert("请检查一下您输入的是否为数字！");
        return false;
    }
    if (checkStr.length==6){
        return true;
    }else{
        alert("输入的邮政编码长度为6！");
        return false;
    }
} else {
  return true;
}
}


/**
* Email检测
*/
function checkEmail(checkStr){
    if (!checkStr.match("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$")){
		alert("非法的Email地址！");
		return false;
	}
    return true;
}

/**
* Url检测
*/
function checkUrl(checkStr){
    if (!checkStr.match("^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$")){
        alert("非法的Url地址！");
        return false;
    }
    return true;
}

/**
* 用户名检测
*/
function checkUserName(checkStr){
    if (!checkStr.match("^[\\w-]+$")){
        alert("非法用户名！用户名只能由字母数字及\"-\"或\"_\"构成");
        return false;
    }
    return true;
}

/**
* 密码检测
*/
function checkPassword(checkStr){
    if (!checkStr.match("^[^\r\t\n\32]+$")){
		alert("非法密码！密码含有任何空白字符");
        return false;
    }
    return true;
}


/**
*检查文件后缀
*/
function checkFileExt(checkStr , arrExt){
sflag = false;
for (i = 0 ; i < arrExt.length ; i++){
    okStr = ".+[.]+" + arrExt[i] + "+$";
    if (checkStr.match(okStr)){
        sflag = true;
        break;
    }
}
if (sflag == false){
    alert("不支持的文件格式！");
}
return sflag;

}


/**
* 检查图片文件后缀
*/
function checkImageExt(checkStr){
var sflag = false;
var arrExt = new Array("jpg" , "JPG" , "gif" , "GIF" , "png" , "PNG");
sflag = checkFileExt(checkStr , arrExt);
return sflag;
}

/**
* 检查非法字符  (' " \ /)
*/
function checkInValidChars(checkStr){
var sflag = false;
var strOk = "^[^~!@^&*();'\"?<>\\[\\]{}\\|,:/=+]+$";
if (!checkStr.match(strOk) || !checkStr.match("^[^\\\\]+$")){
     alert("不能使用字符(~!@%^&*();'\"?><[]{}\\|,:/=+)！");
     return false;
}
return true;
}


/**
* 检查表名
*/
function checkTblName(checkStr){
var sflag = false;
var checkOk = "^[a-zA-Z_][0-9a-zA-Z_]+$"
if (!checkStr.match(checkOk)){
	 alert("只能是以由字母、下划线和数字组成，而且首字母不能是数字！");
	 return false;
}
return true;
}

/**
* 检查是否Mysql关键字
*/
function isKeyword(checkStr){
var arrKeyword = new Array(new Array('action' , 0),new Array('add' , 0),new Array('aggregate' , 0),new Array('all' , 0),
					   new Array('alter' , 0),new Array('after' , 0),new Array('and' , 0),new Array('as' , 0),
					   new Array('asc' , 0),new Array('avg' , 0),new Array('avg_row_length' , 0),new Array('auto_increment' , 0),
					   new Array('between' , 0),new Array('bigint' , 0),new Array('bit' , 0),new Array('binary' , 0),
					   new Array('blob' , 0),new Array('bool' , 0),new Array('both' , 0),new Array('by' , 0),
					   new Array('cascade' , 0),new Array('case' , 0),new Array('char' , 0), new Array('character' , 0),
					   new Array('change' , 0),new Array('check' , 0),new Array('checksum' , 0),new Array('column' , 0),
					   new Array('columns' , 0),new Array('comment' , 0),new Array('constraint' , 0),new Array('create' , 0),
					   new Array('cross' , 0),new Array('current_date' , 0),new Array('current_time' , 0),new Array('current_timestamp' , 0),
					   new Array('data' , 0),new Array('database' , 0),new Array('databases' , 0),new Array('date' , 0),
					   new Array('datetime' , 0),new Array('day' , 0),new Array('day_hour' , 0),new Array('day_minute' , 0),
					   new Array('day_second' , 0),new Array('dayofmonth' , 0),new Array('dayofweek' , 0),new Array('dayofyear' , 0),
					   new Array('dec' , 0),new Array('decimal' , 0),new Array('default' , 0),new Array('delayed' , 0),
					   new Array('delay_key_write' , 0),new Array('delete' , 0),new Array('desc' , 0),new Array('describe' , 0),
					   new Array('distinct' , 0),new Array('distinctrow' , 0),new Array('double' , 0),new Array('drop' , 0),
					   new Array('end' , 0),new Array('else' , 0),new Array('escape' , 0),new Array('escaped' , 0),
					   new Array('enclosed' , 0),new Array('enum' , 0),new Array('explain' , 0),new Array('exists' , 0),
					   new Array('fields' , 0),new Array('file' , 0),new Array('first' , 0),new Array('float' , 0),
					   new Array('float4' , 0),new Array('float8' , 0),new Array('flush' , 0),new Array('foreign' , 0),
					   new Array('from' , 0),new Array('for' , 0),new Array('full' , 0),new Array('function' , 0),
					   new Array('global' , 0),new Array('grant' , 0),new Array('grants' , 0),new Array('group' , 0),
					   new Array('having' , 0),new Array('heap' , 0),new Array('high_priority' , 0),new Array('hour' , 0),
					   new Array('hour_minute' , 0),new Array('hour_second' , 0),new Array('hosts' , 0),new Array('identified' , 0),
					   new Array('ignore' , 0),new Array('in' , 0),new Array('index' , 0),new Array('infile' , 0),
					   new Array('inner' , 0),new Array('insert' , 0),new Array('insert_id' , 0),new Array('int' , 0),
					   new Array('integer' , 0),new Array('interval' , 0),new Array('int1' , 0),new Array('int2' , 0),
					   new Array('int3' , 0),new Array('int4' , 0),new Array('int8' , 0),new Array('into' , 0),
					   new Array('if' , 0),new Array('is' , 0),new Array('isam' , 0),new Array('join' , 0),
					   new Array('key' , 0),new Array('keys' , 0),new Array('kill' , 0),new Array('last_insert_id' , 0),
					   new Array('leading' , 0),new Array('left' , 0),new Array('length' , 0),new Array('like' , 0),
					   new Array('lines' , 0),new Array('limit' , 0),new Array('load' , 0),new Array('local' , 0),
					   new Array('lock' , 0),new Array('logs' , 0),new Array('long' , 0),new Array('longblob' , 0),
					   new Array('longtext' , 0),new Array('low_priority' , 0),new Array('max' , 0),new Array('max_rows' , 0),
					   new Array('match' , 0),new Array('mediumblob' , 0),new Array('mediumtext' , 0),new Array('mediumint' , 0),
					   new Array('middleint' , 0),new Array('min_rows' , 0),new Array('minute' , 0),new Array('minute_second' , 0),
					   new Array('modify' , 0),new Array('month' , 0),new Array('monthname' , 0),new Array('myisam' , 0),
					   new Array('natural' , 0),new Array('numeric' , 0),new Array('no' , 0),new Array('not' , 0),
					   new Array('null' , 0),new Array('on' , 0),new Array('optimize' , 0),new Array('option' , 0),
					   new Array('optionally' , 0),new Array('or' , 0),new Array('order' , 0),new Array('outer' , 0),
					   new Array('outfile' , 0),new Array('pack_keys' , 0),new Array('partial' , 0),new Array('password' , 0),
					   new Array('precision' , 0),new Array('primary' , 0),new Array('procedure' , 0),new Array('process' , 0),
					   new Array('processlist' , 0),new Array('privileges' , 0),new Array('read' , 0),new Array('real' , 0),
					   new Array('references' , 0),new Array('reload' , 0),new Array('regexp' , 0),new Array('rename' , 0),
					   new Array('replace' , 0),new Array('restrict' , 0),new Array('returns' , 0),new Array('revoke' , 0),
					   new Array('rlike' , 0),new Array('row' , 0),new Array('rows' , 0),new Array('second' , 0),
					   new Array('select' , 0),new Array('set' , 0),new Array('show' , 0),new Array('shutdown' , 0),
					   new Array('smallint' , 0),new Array('soname' , 0),new Array('sql_big_tables' , 0),new Array('sql_big_selects' , 0),
					   new Array('sql_low_priority_updates' , 0),new Array('sql_log_off' , 0),new Array('sql_log_update' , 0),new Array('sql_select_limit' , 0),
					   new Array('sql_small_result' , 0),new Array('sql_big_result' , 0),new Array('sql_warnings' , 0),new Array('straight_join' , 0),
					   new Array('starting' , 0),new Array('status' , 0),new Array('string' , 0),new Array('table' , 0),
					   new Array('tables' , 0),new Array('temporary' , 0),new Array('terminated' , 0),new Array('text' , 0),
					   new Array('then' , 0),new Array('time' , 0),new Array('timestamp' , 0),new Array('tinyblob' , 0),
					   new Array('tinytext' , 0),new Array('tinyint' , 0),new Array('trailing' , 0),new Array('to' , 0),
					   new Array('type' , 0),new Array('use' , 0),new Array('using' , 0),new Array('unique' , 0),
					   new Array('unlock' , 0),new Array('unsigned' , 0),new Array('update' , 0),new Array('usage' , 0),
					   new Array('values' , 0),new Array('varchar' , 0),new Array('variables' , 0),new Array('varying' , 0),
					   new Array('varbinary' , 0),new Array('with' , 0),new Array('write' , 0),new Array('when' , 0),
					   new Array('where' , 0),new Array('year' , 0),new Array('year_month' , 0),new Array('zerofill' , 0));
checkStr = Trim(checkStr.toLowerCase());
for (ikeyNum = 0 ; ikeyNum < arrKeyword.length ; ikeyNum ++){
	if (checkStr == arrKeyword[ikeyNum][0]){
		alert("这是一个MySql关键字，不能使用！");
		return false;
	}
}
return true;
}
