//检查mobileNo是否是移动手机号码
function isMobileNo( mobileNo ) {
  //11位数字，格式为13*********，第一个*为5－9之间的数字
  var re = /^13[5-9][0-9]{8}$/;
  var r = re.test( mobileNo );
  return r;

}

//检查cellNo是否是一个手机号码，现在只判断移动的号码，将来再扩充联通的
function isCellNo( cellNo ) {
  //var re = /^13[0-9]{9}$/;  //这个正则表达式可以匹配所有的移动和联通手机号码
  var re = /^13[5-9][0-9]{8}$/; //这个正则表达式只能匹配移动的手机号码
  var r = re.test( cellNo );
  return r;

}

//匹配所有的手机号码
function isPhoneNo( phoneNo ) {
  //var re = /^13[0-9][0-9]{8}$|^15[0,1,2,3,5,6,8,9][0-9]{8}$/; //2008-8-20修改
  var re = /^13[0-9]{9}$|^15[0-9]{9}$|^18[0,5,6,7,8,9][0-9]{8}$/; //2009-03-11 wu修改
  var r = re.test( phoneNo );
  return r;
}



//删除一行的前后空格
function killspace( str ) {
  //删除前导空格
  var re = /^[ \t]*/;
  var r1 = str.replace( re, "" );
  //删除后继空格
  re = /[ \t]*$/;
  var r2 = r1.replace( re, "" );
  return r2;
}

//判断一行是否为空行
function isNullLine( str ) {
  if ( str == "" || killspace( str ) == "" )
    return true;
  return false;
}

//判断一个字符串是否全部由数字组成
function isDigit( str ) {
  for ( i = 0; i < str.length ; i++ ) {
    if (! ( str.charAt( i ) >= '0' && str.charAt( i ) <= '9' ) )
      return false;
  }
  return true;
}

/* -- 计算两个字符(YYYY-MM-DD)的日期相隔天数 -- */
function Date_Compare(asStartDate,asEndDate){
	var miStart = Date.parse(asStartDate.replace(/\-/g, '/'));
	var miEnd = Date.parse(asEndDate.replace(/\-/g, '/'));
	return (miEnd-miStart)/(1000*24*3600);
}

//闰年判定
function isLeapYear(year) {
	if( ( year%4 == 0 && year%100 != 0 ) || ( year%400 == 0 ) )
		return true;
	return false;
}

/*-- 辅助函数，返回某年某月的天数-- */
function Date_getDay( aiYear, aiMonth ) {
	var loDay = [0,31,28,31,30,31,30,31,31,30,31,30,31];
	if ( isLeapYear( aiYear ) )
		loDay[2] = 29;
	return loDay[aiMonth];
}

//判断字符串是否是日期类型，格式为“yyyy-mm-dd”
function isDate( asDate ){
	var lsDate = asDate + "";
	var loDate = lsDate.split("-");
	if (loDate.length!=3)
		return false;
	var liYear = parseInt(loDate[0], 10);
	var liMonth = parseInt(loDate[1], 10);
	var liDay = parseInt(loDate[2], 10);
	if ( (loDate[0].length > 4 ) || (loDate[1].length>2) || (loDate[2].length>2) )
		return false;
	if ( isNaN(liYear) || isNaN(liMonth) || isNaN(liDay))
		return false;
	if ( (liYear<1900) || (liYear>3000) )
		return false;
	if ( (liMonth>12) || (liMonth<=0) )
		return false;
	if ( Date_getDay( liYear, liMonth ) < liDay )
		return false;
	return !isNaN( Date.UTC(liYear,liMonth,liDay) );
}

/**
 * 函数功能: 打开一新窗口
*  参数: url
*
 */
function js_callpage(htmlurl){
	var now = new Date();
	var name = "t" + now.getHours() + now.getMinutes() + now.getSeconds() + now.getMilliseconds();
	var newwin=window.open(htmlurl, name,
	    'top=0,left=0,height=600,width=600,toolbar=0,location=0,directories=0,menubar=0,scrollbars=0,resizable=1,status=0');
	return false;
}


/**
*	验证身份证
*	idcard 身份证号码
*/
function checkIdcard(idcard){
  switch(idcard.length){
	case 18:
		return checkIdcard18(idcard);
		break;
	case 15:
		return checkIdcard15(idcard);
		break;
	default:
		return false;
		break;
  }
}

/**
*	验证18位身份证
*	idcard 身份证号码
*/
function checkIdcard18(idcard){
	var front_17 = idcard.substring(0, idcard.length-1);
	var verify = idcard.substring(17, 18);

	if(!checkIsNumber(front_17)){
		return false;
	}

	if(!checkVerify(verify, front_17)){
		return false;
	}
	return true;
}

/**
*	验证15位身份证
*	idcard 身份证号码
*	生日 6位
*	性别 true-male false-female
*/
function checkIdcard15(idcard){
	if(!checkIsNumber(idcard)){
		return false;
	}
	return true;
}

/**
*	检查验证码是否正确
*/
function checkVerify(verify, front_17){
	var wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
	var vi = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2");
	var s = 0;
	for(i = 0; i<front_17.length; i++){
		ai = parseInt(front_17.charAt(i));
		s += wi[i]*ai;
	}
	y = s%11;
	v = vi[y];
	return (verify.toUpperCase()==v);
}

/**
*	检查字符串是否为数字
*/
function checkIsNumber(numstr){
	numlist = "1234567890";
	for(i=0; i<numstr.length; i++){
		c = numstr.charAt(i);
		if(numlist.indexOf(c)<0){
			return false;
		}
	}
	return true;
}

/*
LTrim(string):去除左边的空格
*/
function LTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1)    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)        {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}

/*
RTrim(string):去除右边的空格
*/
function RTrim(str){
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1){
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)        {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}
/*
Trim(string):去除前后空格
*/
function Trim(str){
    return RTrim(LTrim(str));
}

//获取指定tag的元素 [逐级查找]
    function getElement(oElement,sTag)
    {
      sTag = sTag.toLowerCase();
      if(oElement.tagName.toLowerCase()==sTag)
      return oElement;
      while(oElement=oElement.offsetParent)
      {
        if(oElement.tagName.toLowerCase()==sTag)
        return oElement;
      }
      return(null);
    }


