	function checkUsername(ob) {
		var r1 = new RegExp('[^A-Za-z0-9_]','');
		if ( ob.value == '' ) {
			window.alert('\u8bf7\u8f93\u5165\u767b\u5f55\u540d!!');
			ob.focus();
		}
		else if ( !isNaN(ob.value.substr(0, 1)))
		{
			window.alert('\u767b\u5f55\u540d\u4e0d\u80fd\u4ee5\u6570\u5b57\u5f00\u5934!!');
			ob.focus();
		}
		else if ( ob.value.substr(0, 1) == '_' )
		{
			window.alert('\u767b\u5f55\u540d\u4e0d\u80fd\u4ee5\u4e0b\u5212\u7ebf\u5f00\u5934!!');
			ob.focus();
		}
		else if ( ob.value.search(r1) > 0 ) {
			window.alert('\u767b\u5f55\u540d\u4e2d\u542b\u6709\u975e\u6cd5\u5b57\u7b26!!');
			ob.focus();
		} else { return true;}
		return false;
	}

		function checkName(ob) {
		var r1 = new RegExp('[^A-Za-z0-9_]','');
		if ( ob.value == '' ) {
			window.alert('\u8bf7\u8f93\u5165\u516c\u53f8\u540d\u79f0!!');
			ob.focus();
		}
		else if ( !isNaN(ob.value.substr(0, 1)))
		{
			window.alert('\u516c\u53f8\u540d\u79f0\u4e0d\u80fd\u4ee5\u6570\u5b57\u5f00\u5934!!');
			ob.focus();
		}
		else if ( ob.value.substr(0, 1) == '_' )
		{
			window.alert('\u516c\u53f8\u540d\u79f0\u4e0d\u80fd\u4ee5\u4e0b\u5212\u7ebf\u5f00\u5934!!');
			ob.focus();
		}
        else { return true;}
		return false;
	}

	function checkPassword(pwd1,pwd2) {
		var r2 = new RegExp('[^A-Za-z0-9]','');
		if ( pwd1.value.length < 4 ) {
			window.alert('\u5bc6\u7801\u4e0d\u5f97\u5c11\u4e8e4\u4e2a\u5b57\u7b26!!');
			pwd1.select();
			pwd1.focus();
		}
		else if ( pwd1.value.search(r2) >= 0 ) {
			window.alert('\u5bc6\u7801\u4e2d\u6709\u975e\u6cd5\u5b57\u7b26!!');
			pwd1.select();
			pwd1.focus();
		}
		else if ( pwd2.value != pwd1.value) {
			window.alert('\u9a8c\u8bc1\u5bc6\u7801\u9519\u8bef!!');
			pwd2.select();
			pwd2.focus();
		} else { return true;}
		return false;
	}

	function checkEmail(ob){
		if ( ob.value.indexOf('@',0) == -1 ||
			ob.value == '' ||
			ob.value.indexOf('.',0) == -1 ) {
			window.alert('\u8bf7\u91cd\u65b0\u8f93\u5165\u6b63\u786e\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740!!');
			ob.select();
			ob.focus();
		} else { return true;}
		return false;
	}

        function checkNumber(ob,msg){
        	if ( ob.value == '' ) {
			window.alert(msg);
			ob.focus();

		} else if ( isNaN(ob.value)) {
                        window.alert(msg);
                        ob.focus();
                } else{return true;}
		return false;

        }

        function checkString(ob,msg){
		if ( ob.value == '' ) {
			window.alert(msg);
			ob.focus();

		} else {return true;}
		return false;
	}

	function checkDate(ob,msg){
		if ( ob.value == '' ) {
			window.alert(msg);
			ob.focus();

		}
                else if (! isDate(ob.value)) {
                        window.alert(msg);
			ob.focus();
                }
                else {return true;}
		return false;
	}

function isDate(sDate) {
	var iYear, iMonth, iDay, iIndex

	var	reg
	reg = new RegExp('[^0-9-]','')
	if (sDate.search(reg) >= 0)
		return false;

	iIndex = sDate.indexOf('-');
	if ( iIndex == -1 )
		return false;
	else {
		iYear = parseFloat(sDate.substr(0, iIndex));
		if ( isNaN(iYear) || iYear < 1900 || iYear > 2099 )
			return false;
		else
			sDate = sDate.substring(iIndex + 1, sDate.length);
	}

	iIndex = sDate.indexOf('-');
	if ( iIndex == -1 )
		return false;
	else {
		iMonth = parseFloat(sDate.substr(0, iIndex));
		if ( isNaN(iMonth) || iMonth < 1 || iMonth > 12 )
			return false;
		else
			sDate = sDate.substring(iIndex + 1, sDate.length);
	}

	iIndex = sDate.indexOf('-');
	if ( iIndex >= 0 )
		return false;
	else {
		iDay = parseFloat(sDate);
		if ( isNaN(iDay) || iDay < 1 || iDay > 31 )
			return false;
	}


	switch(iMonth) {
		case 4:
		case 6:
		case 9:
		case 11:
			if ( iDay > 30 )
				return false;
			else
				break;
		case 2:
			if ( ( ( iYear % 4 == 0 && iYear % 100 != 0 ) || iYear % 400 == 0 ) && iDay > 29 )
				return false;
			else if ( (iYear % 4 != 0 || (iYear % 100 == 0 && iYear % 400 != 0)) && iDay > 28 )
				return false;
			else
				break;
		default:
	}
	return true;
}



function parseDate(sDate) {
	var iIndex, iYear, iMonth, iDay

	iIndex = sDate.indexOf('-');
	iYear = parseFloat(sDate.substr(0, iIndex));
	sDate = sDate.substring(iIndex + 1, sDate.length);

	iIndex = sDate.indexOf('-');
	iMonth = parseFloat(sDate.substr(0, iIndex));
	iDay = parseFloat(sDate.substring(iIndex + 1, sDate.length));

	return new Date(iYear, iMonth - 1, iDay);
}

function Decimal(number, n) {//\u7b2c\u4e00\u4e2a\u53c2\u6570\u662f\u6570\u5b57\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570\u662f\u5c0f\u6570\u4f4d\u6570
		var result, str, pos, last,first;
                if (!isNaN(number) && !isNaN(n) ){
                  	number = parseFloat(number);
              		result = String(keepFraction(number,n));
                        //alert("number:"+number+",result:"+result);
			pos=result.indexOf(".")+1;
                        //alert(pos);
                      	last = result.substring(pos+n,pos+n+1)
                        //alert(last);
              		if(pos==0) {
				result=result+"." ;
                                for (var i=0; i<n; i++)
                                  result +="0";
                               // alert(result);
			}else {
                          var len = (result.substring(pos,pos+n)).length;
                          if (len != n)
                            for (var i=0; i<n-len-1; i++)
                              result +="0";
                        }/*first = result.substring(1,pos);
                        if(isNaN(first))
                        {
                           result = 0.00;
                        }*/
                }else {
                	if(isNaN(number)){
            			result = "0.00";
                	}
                }

                return(DecimalNaN(result,n));
          }
function DecimalNaN(number,n)
{
    var result;
    result = number;
     if(isNaN(number))
     {
     result = 0.00;
     }
     return(result);
}
function keepFraction(x,n){
  k = 0.5
  m = 1
  if (x <0) k=-k;
  for (var i=0; i<n; i++){
  	k = k / 10;
      	m = m * 10
  }
  return parseInt((x+k)*m)/m
  }
function checkAllNumber(frm,msg){
		//alert("afdsffafds");

		for (var i=0;i<frm.elements.length;i++)
		{
              		var e = frm.elements[i];
			if (e.type=='text')
			{
				if (!checkNumber(e,msg))
			        	{return false;}
			}
		}

 		return true;
}

function isNumber(theField) {
 	var pattern = /^[0-9]*$/;

 	if(theField.value == "") return true;
 	if (!pattern.test(theField.value)) {
 		theField.focus();
 		theField.select();
 		return false;
 	}
	return true;
}
//判断是否是正整数
function checkIsInteger(value)
{
	var re = /^[1-9]+[0-9]*$/;
	if (!re.test(value)){
	  return false;
	}else{
	  return true;
	}
}

//判断是否是数字
function checkIsNumber(value)
{
	var re = /^[0-9]*$/;
	if (!re.test(value)){
	  return false;
	}else{
	  return true;
	}
}

//str exp: 0~50;50~100;100~500
function getStringCount(str)
{
	str = str.replace(/(^\s*)|(\s*$)/g, "");
	if (str.length > 0){
		if (str.charAt(0) == ";"){   
			str = str.substring(1);
		}
		
		if (str.charAt(str.length-1) == ";"){
			str = str.substring(0,str.length-1);
		}
	}
	
	return str.split(";");
}

//str exp: 0~50
function getLPrice(str){
	str = str.replace(/(^\s*)|(\s*$)/g, "");
	return str.split("~")[0];
}

//str exp: 0~50
function getRPrice(str){
	str = str.replace(/(^\s*)|(\s*$)/g, "");
	return str.split("~")[1];
}










