
function isNum() {
  str = trim(window.event.srcElement.value);
  var bool=false;
  if (str.length==0) return true;
  var digits = ".0123456789";
  for (var i=0; i < str.length; i++){
    if (digits.indexOf(str.charAt(i)) == -1) {
      bool=true;
	  break;
    }
  }

  if(bool){
	 alert("请输入数字!");
      window.event.srcElement.focus();
  }
}

function isReal() {
  str = trim(window.event.srcElement.value);
  var bool=false;
  if (str.length==0) return true;
  var digits = "-.0123456789";
  for (var i=0; i < str.length; i++){
    if (digits.indexOf(str.charAt(i)) == -1) {
      bool=true;
	  break;
    }
  }

  if(bool){
	    alert("输入格式不正确!");
      window.event.srcElement.focus();
  }
}

function isChi(str) 
{
  for (i = 0; i < str.length; i++) 
  {
    if (!(((str.charCodeAt(i) >= 0x3400) && (str.charCodeAt(i) < 0x9FFF)) || (str.charCodeAt(i) >= 0xF900)))
    {
      return false;
    }
  }
  return true;
}
function checkChiName()
{
var bool=false;
str = trim(window.event.srcElement.value);
  if(!isChi(str)){
    
    bool= true;
    
  }
  
  if(bool){
  	alert("请输入中文！");
  	window.event.srcElement.value="";
    window.event.srcElement.focus();
  }
}


function isEng() {
  str = trim(window.event.srcElement.value);
  var bool=false;
  if (str.length==0) return true;
  var digits = "abcdefghijklmnopqrstuvwxyzABCDEFHIJKLMNOPQRSTUVXYZ";
  for (var i=0; i < str.length; i++){
    if (digits.indexOf(str.charAt(i)) == -1) {
      bool=true;
	  break;
    }
  }

  if(bool){
	  alert("请输入英文!");
      window.event.srcElement.focus();
  }
}

function ValidNum_ext(min,max){
  str = trim(window.event.srcElement.value);
  var bool=false;
  if (str.length==0) return true;
  var digits = ".0123456789";
  for (var i=0; i < str.length; i++){
    if (digits.indexOf(str.charAt(i)) == -1) {
      bool=true;
	  break;
    }
  }

  if(bool){
	   alert("请输入数字!");
	  window.event.srcElement.value="1";
      window.event.srcElement.focus(window.event.srcElement.value);
	  return;
  }
  var tempvalue = parseFloat(str);
 
  if ((tempvalue < min) || (tempvalue > max))
  {
	  alert("您输入的值超出范围!");
	  window.event.srcElement.value="1";
      window.event.srcElement.focus(window.event.srcElement.value);
	  return; 
  }
}

function isDigit(demo) {
  str = trim(demo);
  var bool=true;
  if (str.length==0) return true;
  var digits = ".0123456789";
  for (var i=0; i < str.length; i++){
    if (digits.indexOf(str.charAt(i)) == -1) {
      bool=false;
	  break;
    }
  }
	return bool;
}


function checkNum() {
  str = trim(window.event.srcElement.value);
  if (str.length==0) return true;
  var digits = "0123456789";
  for (var i=0; i < str.length; i++){
    if (digits.indexOf(str.charAt(i)) == -1) {
      window.event.srcElement.value = window.event.srcElement.value.substring(0,i);
      window.event.srcElement.focus();
    }
  }
}

function email() {
  var emailStr = trim(window.event.srcElement.value);
  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;
}

function checkEmail() {
  if(!email()){
    alert('Email 格式不正确!');
    window.event.srcElement.focus();
  }
}

function isNumber(demo) {
  str = trim(window.event.srcElement.value);
  if (str.length==0) return true;
  var digits = "0123456789"+demo;
  for (var i=0; i < str.length; i++){
    if (digits.indexOf(str.charAt(i)) == -1) {
      return false;
    }
  }
  return true;
}

function checkNumber(demo) {
  if(!isNumber(demo)){
    alert('输入格式不正确!');
    window.event.srcElement.focus();
  }
}

function IsDigit(cCheck) {
	return (('0'<=cCheck) && (cCheck<='9'));
}

function IsAlpha(cCheck) { 
	return ((('a'<=cCheck) && (cCheck<='z')) || (('A'<=cCheck) && (cCheck<='Z'))); 
}

function IsChart(cCheck,digits){
	var bool = true;
	for (var i=0; i < cCheck.length; i++){
		if (digits.indexOf(cCheck.charAt(i)) == -1) {
			bool = false;
			break;
		}
	}
	return bool;
}

function VerifyInput(){
	var bool = false;
	strUserID = window.event.srcElement.value
	for(nIndex=0; nIndex<strUserID.length; nIndex++){
    cCheck = strUserID.charAt(nIndex);
    if (!(IsDigit(cCheck) || IsAlpha(cCheck)))
    {
      bool = true;
			break;
    }
	}
	if(bool){
		alert('只能输入英文或数值，请重新输入！');
    window.event.srcElement.focus();
		return false;
	}
	return true;
}

function checkEng(){
	var bool = false;
	strUserID = window.event.srcElement.value
	for(nIndex=0; nIndex<strUserID.length; nIndex++){
    cCheck = strUserID.charAt(nIndex);
    if (!IsAlpha(cCheck))
    {
      bool = true;
			break;
    }
	}
	if(bool){
		alert('资料型态错误，请重新输入！');
    window.event.srcElement.focus();
		return false;
	}
	return true;
}

function checkTel() {
  str = trim(window.event.srcElement.value);
  var bool=false;
  if (str.length==0) return true;
  var digits = "0123456789()-";
  for (var i=0; i < str.length; i++){
    if (digits.indexOf(str.charAt(i)) == -1) {
      bool=true;
	    break;
    }
  }
  if(bool){
	  alert("格式输入错误，请重新输入！");
      window.event.srcElement.focus();
  }

}

function checkSubInfo(name,table,msg){
 try{
  var obj=document.all.item(name);
  var tbl=document.all.item(table);
  var rows =tbl.rows.length;
  if(rows>=2){
    if(rows==2){
       if(trim(obj.value)==""){
         alert(msg);
                 obj.focus();
                 return false;
       }
        }else{
       var len=obj.length;
           var i=0;
           for(i=0;i<len;i++){
          if(trim(obj[i].value)==""){
            alert(msg);
                obj[i].focus();
                    return false;
          }
       }
    }
  }
 }catch(e){
   return false;
 }
  return true;
}


 function ValidateLength(maxLength){
     
	 var swap=window.event.srcElement;
	 var value=swap.value;
	 if(value.length>maxLength){
           alert("该字段接受的最大长度为["+maxLength +"]");
        //swap.value=value.substring(0,maxLength);
		swap.focus(); 
     } 
	 
 }
 
 /**
 功  能；返回字符串的长度，1个中文字符算两个长度
 程序员：丛玄章
 日  期：2006-09-27
 */
 function getStringLength(str){
	return str.replace(/[^\x00-\xff]/g,"xx").length;
 }
 /**
 功  能；判断字符串是否为空,全角的空格也算空
 程序员：杨能
 日  期：2006-12-26
 */
 function isEmpty(str){
 	var s = str.replace("　","");
 	if(trim(s).length==0){
 		return true;
 	}
 }
 
 
 function fucCheckLength(strTemp) {
    var form = document.forms[0];
    var i, sum;
    sum = 0;
    for (i = 0; i < strTemp.length; i++) {
        if ((strTemp.charCodeAt(i) >= 0) && (strTemp.charCodeAt(i) <= 255)) {
            sum = sum + 1;
        } else {
            sum = sum + 2;
        }
    }
    return sum;
}
//判断身份证
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:"国外"}
function   cidInfo(sId){
	if(sId.length==15){
		return true;
	}
	var iSum=0
	var info=""
	if(!/^\d{17}(\d|x)$/i.test(sId))
		return false;
	sId=sId.replace(/x$/i,"a");
	if(aCity[parseInt(sId.substr(0,2))]==null)
		return   false;
	sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
	var d=new Date(sBirthday.replace(/-/g,"/"));
	if(sBirthday!=(d.getFullYear()+"-"+   (d.getMonth()+1)   +   "-"   +   d.getDate()))
		return   false;
	for(var i = 17;i>=0;i --)   
		iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
	if(iSum%11!=1)
		return false;
	return true;
}

/* 
要求：一、电话号码由数字、"("、")"和"-","—"构成 
二、电话号码为3到8位 
三、如果电话号码中包含有区号，那么区号为三位或四位 
四、区号用"("、")"或"-"和其他部分隔开 
用途：检查输入的电话号码格式是否正确 
输入：strPhone：字符串 
返回：如果通过验证返回true,否则返回false 
程序员：杨能
日  期：2006-12-27
*/ 
function f_check_phone(obj)    
{   
    var regu =/(^([0][0-9]{2,3}[-－—])?\d{3,8}([-－—]\d{1,6})?$)|(^\([0][0-9]{2,3}\)\d{3,8}(\(\d{1,6}\))?$)|(^\d{3,8}$)/;    
    var re = new RegExp(regu);   
    if (re.test( obj.value )) {   
      return true;   
    }   
    f_alert(obj,"请输入正确的电话号码，格式如:021-3294031");   
    return false;   
} 
/* 
要求：一、移动电话号码为11或12位，如果为12位,那么第一位为0 
二、11位移动电话号码的第一位和第二位为"13"或"15" 
三、12位移动电话号码的第二位和第三位为"13"或"15" 
用途：检查输入手机号码是否正确 
输入：s：字符串 
返回：如果通过验证返回true,否则返回false  
程序员：杨能
日  期：2006-12-27
*/ 
function f_check_mobile(obj){      
    var regu =/(^[1]([3]|[5])[0-9]{9}$)|(^0[1]([3]|[5])[0-9]{9}$)/;   
    var re = new RegExp(regu);   
    if (re.test( obj.value )) {   
      return true;   
    }   
    f_alert(obj,"请输入正确的手机号码");   
    return false;      
}
/* 
要求：一、移动电话号码为11位
二、第一位和第二位为"13"或"15" 
用途：检查输入手机号码是否正确 
输入：s：字符串 
返回：如果通过验证返回true,否则返回false  
程序员：杨能
日  期：2007-4-4
*/ 
function f_check_mobile_11(obj){      
    var regu =/^[1]([3]|[5])[0-9]{9}$/;   
    var re = new RegExp(regu);   
    if (re.test( obj.value )) {   
      return true;   
    }   
    f_alert(obj,"请输入正确的手机号码");   
    return false;      
}
/* 
用途：检查输入对象的值是否符合E-Mail格式 ,可以是中文邮件
输入：str 输入的字符串 
返回：如果通过验证返回true,否则返回false  
程序员：杨能
日  期：2006-12-27
*/ 
function f_check_email(obj){    
    var myReg = /^(([-_A-Za-z0-9.\u4e00-\u9fa5]+)@([_A-Za-z0-9\u4e00-\u9fa5]+\.)+[A-Za-z0-9\u4e00-\u9fa5]{2,3})$/;    
    if(myReg.test( obj.value )) return true;    
    f_alert(obj,"请输入合法的电子邮件地址");   
    return false;    
}   
/* 
用途：检查输入对象的值是否符合MSN格式 
输入：str 输入的字符串 
返回：如果通过验证返回true,否则返回false  
程序员：杨能
日  期：2006-12-27
*/ 
function f_check_msn(obj){     
   var myReg = /^(([-_A-Za-z0-9.\u4e00-\u9fa5]+)@([_A-Za-z0-9\u4e00-\u9fa5]+\.)+[A-Za-z0-9\u4e00-\u9fa5]{2,3})$/;    
    if(myReg.test( obj.value )) return true;    
    f_alert(obj,"请输入合法的MSN地址");   
    return false;    
}
/* 
用途：弹出提示，并获得焦点 
输入：str 提示语  
程序员：杨能
日  期：2006-12-27
*/
function f_alert(obj,str){
	obj.focus();
	obj.select();
	alert(str);
}
/* 
用途：检查输入对象的值是否符合QQ格式 
程序员：杨能
日  期：2006-12-27
*/ 
function f_check_qq(obj){     
    var myReg = /^\d{4,15}$/;    
    if(myReg.test( obj.value )) return true;    
    f_alert(obj,"请输入合法的QQ");   
    return false;    
} 
/* 
用途：检查输入对象的值是否符合整数格式 
程序员：杨能
日  期：2007-1-8
*/ 
function f_check_integer(obj)   
{          
    if (/^(\+|-)?\d+$/.test( obj.value ))    
    {   
       return true;   
    }    
    else    
    {   
        f_alert(obj,"请输入整数");   
        return false;   
    }   
} 
/* 
用途：确认删除 
程序员：杨能
日  期：2007-1-11
*/ 
function deleteConfirm(url){
	if(window.confirm("确定删除吗？"))
	window.location=url;
}


/* 
用途：转换<> 
程序员：杨能
日  期：2007-3-22
*/ 
function changeLtGt(str){
	str = str.replace("<","&lt;");
	str = str.replace(">","&gt;");
	return str;
}
/*
	用途：验证身份证
	程序员：徐伟
	PS：18位可安全验证，15位则只能验证一些，不全面
*/
var yyyy;
var mm;
var dd;
var birthday;
var sex;

function getYear(){
    return yyyy;
}
function getMonth(){
    return mm;
}
function getDate(){
    return dd;
}
function getBirthday(){
    return birthday;
}
function getSex(){
    return sex;
}
function getAge(){
    var mm=getMonth();
    if (mm<10)
            mm=mm.substring(1,2);
    return Math.floor((parseInt(_getYear())*12+parseInt(_getMonth())-parseInt(getYear())*12-parseInt(mm))/12);
}
//判断是否大龄,男50,女40
function isBigAge(){
    if (parseInt(getAge())>=40 && parseInt(getSex())==2)
        return "1";
    if (parseInt(getAge())>=50 && parseInt(getSex())==1)
        return "1";
    return "0";
}
//校验身份证号码
function CheckValue(idCard){
    var id=idCard;
    var id_length=id.length;

    if (id_length==0){
        //alert("请输入身份证号码!");
        return false;
    }

    if (id_length!=15 && id_length!=18){
        //alert("身份证号长度应为15位或18位！");
        return false;
    }

    if (id_length==15){
        yyyy="19"+id.substring(6,8);
        mm=id.substring(8,10);
        dd=id.substring(10,12);

        if (mm>12 || mm<=0){
            //alert("输入身份证号,月份非法！");
            return false;
        }

        if (dd>31 || dd<=0){
            //alert("输入身份证号,日期非法！");
            return false;
        }

        birthday=yyyy+ "-" +mm+ "-" +dd;

        if ("13579".indexOf(id.substring(14,15))!=-1){
            sex="1";
        }else{
            sex="2";
        }
    }else if (id_length==18){
        if (id.indexOf("X") > 0 && id.indexOf("X")!=17 || id.indexOf("x")>0 && id.indexOf("x")!=17){
            //alert("身份证中\"X\"输入位置不正确！");
            return false;
        }

        yyyy=id.substring(6,10);
        if (yyyy>2200 || yyyy<1900){
            //alert("输入身份证号,年度非法！");
            return false;
        }

        mm=id.substring(10,12);
        if (mm>12 || mm<=0){
            //alert("输入身份证号,月份非法！");
            return false;
        }

        dd=id.substring(12,14);
        if (dd>31 || dd<=0){
            //alert("输入身份证号,日期非法！");
            return false;
        }

        if (id.charAt(17)=="x" || id.charAt(17)=="X")
        {
            if ("x"!=GetVerifyBit(id) && "X"!=GetVerifyBit(id)){
                //alert("身份证校验错误，请检查最后一位！");
                return false;
            }

        }else{
            if (id.charAt(17)!=GetVerifyBit(id)){
                //alert("身份证校验错误，请检查最后一位！");
                return false;
            }
        }

        birthday=id.substring(6,10) + "-" + id.substring(10,12) + "-" + id.substring(12,14);
        if ("13579".indexOf(id.substring(16,17)) > -1){
            sex="1";
        }else{
            sex="2";
        }
    }

    return true;
}
//15位转18位中,计算校验位即最后一位
function GetVerifyBit(id){
    var result;
    var nNum=eval(id.charAt(0)*7+id.charAt(1)*9+id.charAt(2)*10+id.charAt(3)*5+id.charAt(4)*8+id.charAt(5)*4+id.charAt(6)*2+id.charAt(7)*1+id.charAt(8)*6+id.charAt(9)*3+id.charAt(10)*7+id.charAt(11)*9+id.charAt(12)*10+id.charAt(13)*5+id.charAt(14)*8+id.charAt(15)*4+id.charAt(16)*2);
    nNum=nNum%11;
    switch (nNum) {
       case 0 :
          result="1";
          break;
       case 1 :
          result="0";
          break;
       case 2 :
          result="X";
          break;
       case 3 :
          result="9";
          break;
       case 4 :
          result="8";
          break;
       case 5 :
          result="7";
          break;
       case 6 :
          result="6";
          break;
       case 7 :
          result="5";
          break;
       case 8 :
          result="4";
          break;
       case 9 :
          result="3";
          break;
       case 10 :
          result="2";
          break;
    }
    //document.write(result);
    return result;
}
//15位转18位
function Get18(idCard){
 if (CheckValue(idCard)){
  var id = idCard;
  var id18=id;
  if (id.length==0){
   //alert("请输入15位身份证号！");
   return false;
  }
  if (id.length==15){
   if (id.substring(6,8)>20){
    id18=id.substring(0,6)+"19"+id.substring(6,15);
   }else{
    id18=id.substring(0,6)+"20"+id.substring(6,15);
   }

   id18=id18+GetVerifyBit(id18);
  }

  return id18;
 }else{
  return false;
 }
}
/* 
用途：替换内容中的网址为店铺网址,图片除外,21goo的网址除外,email
程序员：杨能
日  期：2007-4-11
*/ 
function changeOtherWebSite(str,shopNumber){
	var website;
	if(shopNumber==""){
		website = "www.21goo.com";	
	}else{
		website = "shop"+shopNumber+".21goo.com";
	}
	var imgArr = str.match(/<(IMG|img)[^<>]{1,}>/ig);
	if(imgArr!=null){
		for(i=0;i<imgArr.length;i++){
			str=str.replace(imgArr[i],"imgArrNew"+i);
		}
	}
	var emailArr = str.match(/(([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3})/ig);
	if(emailArr!=null){
		for(i=0;i<emailArr.length;i++){
			str=str.replace(emailArr[i],"emailArrNew"+i);
		}
	}
	
	var s = str.match(/([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}/ig);
	if(s!=null){
		 for(i=0;i<s.length;i++){
		 	if(!/^[0-9]{8}\.21goo\.com$/.test(s[i])){
		 		str=str.replace(s[i],website);
		 	}
		 }
	}
	if(imgArr!=null){
		for(i=0;i<imgArr.length;i++){
			str=str.replace("imgArrNew"+i,imgArr[i]);
		}
	}
	if(emailArr!=null){
		for(i=0;i<emailArr.length;i++){
			str=str.replace("emailArrNew"+i,emailArr[i]);
		}
	}
	return str;
}