//为string添加trim()方法,去处字符串前后的空格
String.prototype.trim=function()
 {return this.replace(/(^\s*)|(\s*$)/g,"");}
//为string添加lTrim()方法,去处字符串前的空格
String.prototype.lTrim=function (){return this.replace(/(^\s*)/g, "");}
//为string添加rTrim()方法,去处字符串后的空格
String.prototype.rTrim=function (){return this.replace(/(\s*$)/g, "");}
//为string添加length2()方法，计算string的长度，中文字符长度为2
String.prototype.length2=function (){return this.replace(/[^\x00-\xff]/g,"**").length;}

/*
判断输入是否为空，如果为空返回true，否则返回false
*/
function checkIsEmpty(obj, msg){
	if(isEmpty(obj.value)){
		alert("提示：" + msg + "不能为空!");
		obj.focus();
		return true;
	}
	else{
		return false;
	}
}

/*
判断是否合法数字，如果为空返回true，否则返回false
*/

function checkDecimal(obj, intNum, fracNum, canNull, msg){
	var numStr = obj.value;
	if(canNull && isEmpty(numStr)){
		return true;
	}
	if(!canNull && checkIsEmpty(obj, msg)){
		return false;
	}
	if(!isEmpty(numStr) && !checkIsNumber(obj,msg)){   
		return false;
	}
	
	var idx = numStr.indexOf('.');
	if(idx == -1){
		l = numStr.length;
		if(l > intNum/1){
			alert(msg + "整数部分不能超过" + intNum + "位！");
			obj.focus();
			return false;
		}
	}
	else{
		lInt = numStr.substring(0, idx).length;
		if(lInt > intNum/1){
			alert(msg + "整数部分不能超过" + intNum + "位！");
			obj.focus();
			return false;
		}
		lFrac = numStr.substring(idx + 1, numStr.length).length;
		if(lFrac > fracNum/1){
			alert(msg + "小数部分不能超过" + fracNum + "位！");
			obj.focus();
			return false;
		}
	}
	return true;
}

/*
判断输入是否为数字，如果是返回true，否则返回false
*/
function checkIsNumber(obj, msg){
	if(obj.value.length<1){
		return true;
	}
	if(isNumber(obj.value)){
		return true;
	}
	else{
		alert("提示：" + msg + "应输入数字!");
		obj.value = '';
		obj.focus();
		return false;
	}
}

/*
判断输入是否在规定长度内，如果是返回true，否则返回false
*/
function checkIsTextInRange(obj, iLength, msg){
	if(isTextInRange(obj.value, iLength)){
		return true;	
	}	
	else{
		alert("提示：" + msg + "超长,最多输入" + iLength + "个字符或" + iLength/2 + "个汉字!");
		obj.focus();
		return false;
	}
}


/*
判断输入是否有足够的长度，如果是返回true，否则返回false
*/

function checkHasEnoughLength(obj,iLength,msg){
	if(hasEnoughLength(obj.value,iLength)){
		return true;
	}
	else{
			alert("提示：" + msg + "的长度至少为" + iLength + "个字符!");
			obj.focus();
			return false;
	}
}


/*
判断输入是否为指定的长度，如果是返回true，否则返回false
*/

function checkIsVeryLength(obj,iLength,msg){
	if(isVeryLength(obj.value,iLength)){
		return true;
	}
	else{
			alert("提示：" + msg + "的长度应为" + iLength + "个字符!");
			obj.focus();
			return false;
	}
}


/*
判断输入是否在范围内，lo<=str<=hi返回true
*/
function checkIsNumberInRange(obj, lo, hi, msg){
	if(isNumberInRange(obj.value, lo, hi)){
		return true;	
	}	
	else{
		alert("提示：" + msg + "应在" + lo + "--" + hi + "范围内!");
		obj.focus();
		return false;
	}	
}

/*
判断输入是否为合法的email，如果是返回true，否则返回false
*/
function checkIsValidEmail(obj, msg){
	if(isValidEmail(obj.value)){
		return true;	
	}	
	else{
		alert("提示：" + msg + "应输入有效email地址!");
		obj.focus();
		return false;
	}	
}

/*
判断字符串是否为空，如果为空返回true，否则返回false
*/
function isEmpty(str){
	if(str == null || str.trim() == ""){
		return true;
	}
	else{
		return false;
	}
}

/*
判断字符串是否为数字，如果是返回true，否则返回false
*/
function isNumber(str){
	if(str!=null && str.trim() != "" && str.substring(0,1)=="-"){
		if(isNaN(str.substring(1,str.length))){
			return false;
		}
		return true;
	}
	if(isNaN(str)){
		return false;
	}
	else{
		return true;
	}
}

/*
判断字符串是否在规定长度内，如果是返回true，否则返回false
*/
function isTextInRange(str, iLength){
	if (str.trim().length2() > iLength ){
		return false;
	}
	else{
		return true;
	}
}

/*
判断对象的值是否在规定长度内，如果是返回true，否则返回false，并弹出提示信息;
*/
function isTextInRangeMsg(obj, iLength, msg){
	if (obj.value.rTrim().length2() > iLength ){
		alert("" + msg);
		obj.focus();
		return false;
	}
	else{
		return true;
	}
}

/*
判断输入是否有足够的长度，如果是返回true，否则返回false
*/
function hasEnoughLength(str,iLength){
  if(str.trim().length2()<iLength){
    return false;
  }
	else{
	   return true;
	}
}

/*
判断输入是否为指定的长度，如果是返回true，否则返回false
*/
function isVeryLength(str,iLength){
  if(str.trim().length2()==iLength){
    return true;
  }
	else{
	   return false;
	}
}


/*
判断输入的数字是否在范围内，lo<=str<=hi返回true
*/
function isNumberInRange(str, lo, hi){
	if(isEmpty(str) || !isNumber(str)){
		return false
	}
	var num = parseInt(str, 10)

	if(num < lo || num > hi){
		return false
	}
	else{
		return true
	}
}

/*
判断是否为合法的email，如果是返回true，否则返回false
*/
function isValidEmail(item){
	var etext
	var elen
	var i
	var aa
	etext = item
	if(item.length < 1){
		return true;
	}
	elen = etext.length
	if(elen < 5){
	 	return false;
	}
	i = etext.indexOf("@",0)
	if(i == 0 || i == -1 || i == elen - 1){
		return false;
	}
	else{
		if(etext.indexOf("@",i+1)!=-1){
	  		return false;
	  	}
	}
	if(etext.indexOf("..", i + 1) != -1){
 		return false;
 	}
	i = etext.indexOf(".", 0)
	if(i == 0 || i == -1 || etext.charAt(elen - 1) == '.'){
 		return false;
 	}
	if(etext.charAt(0) == '-' ||  etext.charAt(elen - 1) == '-'){
 		return false;
 	}
	if(etext.charAt(0) == '_' ||  etext.charAt(elen - 1) == '_'){
 		return false;
 	}
	for (i = 0; i <= elen - 1; i++){ 
		aa = etext.charAt(i)
  		if(!((aa == '.') || (aa == '@') || (aa == '-') ||(aa == '_') || (aa >= '0' && aa <= '9') || (aa >= 'a' && aa <= 'z') || (aa >= 'A' && aa <= 'Z'))){
   			return false;
   		}
	}
	return true;
}

/*
判断是否为合法的整数，如果是返回true，否则返回false
*/

function isInt(str){	
	if(str.length == 0) return false;
	var c ;
	for(var i = 0;i<str.length;i++){
		c = str.charAt(i);
		if( isNaN(parseInt(c,10)) ){
		return false;
		}
	}	
	return true;}


function selectItemComm(urls){
		var xmlHttp = false;
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				xmlHttp = false;
			}
		}
		if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  			xmlHttp = new XMLHttpRequest();
		}

		xmlHttp.open("post",urls, false);
		xmlHttp.send();	
		var content = xmlHttp.responseText;
		return content;
	}

/* 
用途：检查输入字符串是否符合身份证格式 
输入： 
s：字符串 
返回： 
如果通过验证返回true,否则返回false 
*/

function isIDno(strIDnoObj)  
{   
    var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};  
    var strIDno = strIDnoObj.value;
    var iSum = 0;  
    var info = "";  
    //var strIDno = obj.value;  
    var idCardLength = strIDno.length;    
    if(!/^\d{17}(\d|x)$/i.test(strIDno)&&!/^\d{15}$/i.test(strIDno))   
    {
        alert("非法身份证号");  
        strIDnoObj.focus();
        return false;  
    }  
   
    //在后面的运算中x相当于数字10,所以转换成a  
    strIDno = strIDno.replace(/x$/i,"a");  
  
    if(aCity[parseInt(strIDno.substr(0,2))]==null)  
    {  
        alert("非法地区"); 
        strIDnoObj.focus();
        return false;  
    }  
      
    if (idCardLength==18)  
    {  
        sBirthday=strIDno.substr(6,4)+"-"+Number(strIDno.substr(10,2))+"-"+Number(strIDno.substr(12,2));  
        var d = new Date(sBirthday.replace(/-/g,"/"))  
        if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))  
        {         
            alert("非法生日");  
            strIDnoObj.focus();
            return false;  
        }  
  
        for(var i = 17;i>=0;i --)  
            iSum += (Math.pow(2,i) % 11) * parseInt(strIDno.charAt(17 - i),11);  
  
        if(iSum%11!=1)  
        {  
            alert("非法身份证号");  
            strIDnoObj.focus();
            return false;  
        }  
    }  
    else if (idCardLength==15)  
    {  
        sBirthday = "19" + strIDno.substr(6,2) + "-" + Number(strIDno.substr(8,2)) + "-" + Number(strIDno.substr(10,2));  
        var d = new Date(sBirthday.replace(/-/g,"/"))  
        var dd = d.getFullYear().toString() + "-" + (d.getMonth()+1) + "-" + d.getDate();     
        if(sBirthday != dd)  
        {  
            alert("非法生日");  
            strIDnoObj.focus();
            return false;  
        }  
    }  
    return true;
}

	
	
