﻿String.prototype.length2 = function(){ 
var cArr = this.match(/[^\x00-\xff]/ig); 
return this.length + (cArr == null ? 0 : cArr.length); 
} 

function CheckString(valname,val,valimode,limitlen)
{
   	if(valimode==1)
   	{
		if(isblank(val.value))
		{
			alert(valname+"不能为空！");
			val.focus();
			val.select();	
        	return false;
        }
        tmp=new String(val.value)
		if(istoolong(tmp,limitlen))
		{
			alert(valname+"不能超过"+limitlen+"个字符！");
			val.focus();
			val.select();	
            		return false;
        	}
	}
    else{
		tmp=new String(val.value)
        if(istoolong(tmp,limitlen)){
			alert(valname+"不能超过"+limitlen+"个字符！");
			val.focus();
			val.select();	
        	return false;
        }
    }
    return true;
}

function isblank(str)
{
    var i;
    var len=str.length;
    for(i=0;i<len;++i)
    {
		if(str.charAt(i)!=" ")
			return false;
    }
    return true;
}

function istoolong(str,i)
{
    var len=str.length2();
    if(i==0)
		return false;
    else
    {   
        if(len>i)
		return true;
        else
		return false;
    }
}

function CheckLoginName(val,min,max)
{
	var len = val.value.length;
	if (len<min || len>max)
	{
		alert("用户名长度不正确，应为"+min+"-"+max+"个英文字母或数字！");
		val.focus();
		val.select();	
		return false;
	}
	for (i=0;i<val.value.length;i++)
	{
		var ch = val.value.charAt(i);
		if ( (ch<"0" || ch>"9") && (ch<"a" || ch >"z") && (ch<"A" || ch >"Z"))
		{
			alert("用户名必须由英文字母或数字组成！");
			val.focus();
			val.select();	
			return false;
		}
	}
	return true;
}

function CheckPassWord(val,min,max)
{
	var len = val.value.length;
	if (len<min || len>max)
	{
		alert("用户密码长度不正确，应为"+min+"-"+max+"个英文字母或数字！");
		val.focus();
		val.select();	
		return false;
	}
	for (i=0;i<val.value.length;i++){
		var ch = val.value.charAt(i);
		if ( (ch<"0" || ch>"9") && (ch<"a" || ch >"z") && (ch<"A" || ch >"Z"))
		{
			alert("用户密码必须由字母或数字组成！");
			val.focus();
			val.select();	
			return false;
		}
	}
	return true;
}

function IsSame(val1,val2)
{
	if (val1.value != val2.value )
	{
		alert("两次输入的密码不相同，请确认！");
		val2.focus();
		val2.select();	
		return false;
	}
	else
		return true;
}

function CheckEmail(val,mode)
{
	if((mode==0) && (val.value==""))
	{
		return true;
	}

	var etext
	var elen
	var i
	var aa
	etext=val.value
	elen=etext.length
	if (elen<5)
	{
		alert("请输入正确的Email！");
		val.focus();
		val.select();	
		return false;
	}
	i= etext.indexOf("@",0)
	if (i==0 || i==-1 || i==elen-1)
	{
		alert("请输入正确的Email！");
		val.focus();
		val.select();	
		return false;
	}
	else{
		if (etext.indexOf("@",i+1)!=-1)
		{
			alert("请输入正确的Email！");
			val.focus();
			val.select();	
			return false;
		}
	}
	if (etext.indexOf("..",i+1)!=-1)
	{
		alert("请输入正确的Email！");
		val.focus();
		val.select();	
		return false;
	}
	i=etext.indexOf(".",0)
	if (i==0 || i==-1 || etext.charAt(elen-1)=='.')
	{
		alert("请输入正确的Email！");
		alert("Emai必须包含字符“.”，但是首位字符不得为“.”！");
		val.focus();
		val.select();	
		return false;
	}
	if ( etext.charAt(0)=='-' ||  etext.charAt(elen-1)=='-')
	{
		alert("请输入正确的Email！");
		alert("首位字符不得为-");
		val.focus();
		val.select();	
		return false;
	}
	if ( etext.charAt(0)=='_' ||  etext.charAt(elen-1)=='_')
	{
		alert("请输入正确的Email！");
		alert("首位字符不得为_");
		val.focus();
		val.select();	
		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')))
		{
			alert("请输入正确的Email！");
			alert("包含非法字符");
			val.focus();
			val.select();	
			return false;
		}
	}
	return true;
}

function CheckValHeight(val,min,max,mode){
	if((mode==0) && (val.value=="")){
		return true;
	}
	
	var len = val.value.length;
	if (val.value<min || val.value>max){
		alert("请输入正确的身高数据！");
		val.focus();
		val.select();	
		return false;
	}
	var val2 = val.value;
	for (i=0;i<val2.length;i++){
		var ch = val2.charAt(i);
		if ( (ch<"0" || ch>"9") ){
			alert("身高数据必须由有效数字组成！");
			val.focus();
			val.select();	
			return false;
		}
	}
	if (isNaN(val2)){	
		alert("身高数据必须由有效数字组成！");
		val.focus();
		val.select();	
		return false;
	}
	else if (parseInt(val2)<=0){
		alert("身高数据必须由有效数字组成！");
		val.focus();
		val.select();	
		return false;
	}
	else if (val2.indexOf('0')==0){
		alert("身高数据必须由有效数字组成！");
		val.focus();
		val.select();	
		return false;
	}
	return true;
}

function Isinteger(sNum) {
	var	num
	num=new RegExp('[^0-9_]','')
	if (isNaN(sNum)) {
		return false
	}
	else {
		if (sNum.search(num)>=0) {
			return false
		}
		else {
			return true
		}
	}
}

function CheckInteger(val,min,max,mode){
	var value = val.value;
	if((mode==0) && (value=="")){
		return true;
	}
	if(!isNaN(value)){
		if((value<min) || (value>max)){
			val.focus();
			val.select();	
			return false;
		}	
		else
			return true;						
	}		
	else{
		val.focus();
		val.select();		
		return false;	
	}	
}

function isValidDate(iY, iM, iD) {
  var undefined									
  if ( iY != undefined && !isNaN(iY) && iY >=0 && iY<=9999 &&						
       iM != undefined && !isNaN(iM) && iM >=1   && iM<=12   &&					
       iD != undefined && !isNaN(iD) && iD >=1   && iD<=31  )  {						       					
       if (iY<50) iY = 2000+iY; else if (iY<100) iY=1900+iY;						
    if (iM == 2  && (isLeapYear(iY)  && iD > 29 || !isLeapYear(iY) && iD>28) ||	
        iD == 31 && (iM<7 && iM%2==0 || iM>7 && iM%2==1) )							
		return false																
	else	return true   
 }														
 else  return false
}	

function isLeapYear(iYear) {
  var undefined						
  if ( iYear != undefined && !isNaN(iYear) && iYear > 0 &&		
       (iYear%4==0 && iYear%100 !=0 || iYear%400==0)   )		
      return true												
	else return false;
}											

function CheckPositive(valname,val,min,max,mode){
	if((mode==0) && (val.value=="")){
		return true;
	}
	
	if(!CheckNumber(valname,val,min,max,mode)){
		val.focus();
		val.select();	
		return false;
	}
	if (parseInt(val.value)<=0){
		//alert(valname+"为正数值类型，数据必须为有效的正整数！");
		val.focus();
		val.select();	
		return false;
	}

	return true;
}

function CheckNumber(valname,val,min,max,mode){
	if((mode==0) && (val.value=="")){
		return true;
	}
	
	var len = val.value.length;
	if (len<min || len>max){
		//alert(valname+"为数值类型，请输入正确的数值！");
		val.focus();
		val.select();	
		return false;
	}
	var val2 = val.value;
	for (i=1;i<val2.length;i++){
		var ch = val2.charAt(i);
		if ( (ch<"0" || ch>"9" ) ){
			//alert(valname+"为数值类型，请输入正确的数值！");
			val.focus();
			val.select();	
			return false;
		}
	}
	if (isNaN(val2)){	
		//alert(valname+"为数值类型，请输入正确的数值！");
		val.focus();
		val.select();	
		return false;
	}
	else if (val2.indexOf('0')==0 && len>1){
		//alert(valname+"为数值类型，请输入正确的数值！");
		val.focus();
		val.select();	
		return false;
	}
	else if (val2.indexOf('-')==0 && val2.indexOf('0')==1){
		//alert(valname+"为数值类型，请输入正确的数值！");
		val.focus();
		val.select();	
		return false;
	}
	return true;
}

function isValidDateString(sDateTime) {
	var asDateTime = new Array()
	asDateTime = sDateTime.value.split('-')
	if (asDateTime.length != 3){
 		sDateTime.focus();
		sDateTime.select();	  
		return false;
	}
	if(asDateTime[0].length!=4){
		alert("请输入四位整数的年份！");
 		sDateTime.focus();
		sDateTime.select();	
		return false;
	}	
	if(!isValidDate(asDateTime[0], asDateTime[1], asDateTime[2])){
 		sDateTime.focus();
		sDateTime.select();	
		return false;
	}	
			
	return true;
}
//去左空格; 
function ltrim(s){ 
var ss;
ss=s.replace( /^\s*/, "");
return ss.replace( /^　*/,"")
} 
//去右空格; 
function rtrim(s){
var ss;
ss=s.replace( /\s*$/, ""); 
return ss.replace( /　*$/, ""); 
} 
//去左右空格; 
function trim(s){ 
return rtrim(ltrim(s)); 
}


function onlyNum()
{
 if(!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==110)&&!(event.keyCode==190)&&!(event.keyCode==39)&&!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
    event.returnValue=false;
}

function IsDigit()
{
  return (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 46));
}

function checkspace(checkstr) {
  var str = '';
  for(i = 0; i < checkstr.length; i++) {
    str = str + ' ';
  }
  return (str == checkstr);
}

function checkln(checkstr) {
flg=0;
for (var i=0;i<checkstr.length;i++){
  cmp="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_"
  tst=checkstr.substring(i,i+1)
  if (cmp.indexOf(tst)<0){
    flg++;
  }
  }
  return (flg != 0);
}

function checkUserName(ssn){
if( ssn.length<3 || ssn.length>18 ) {
alert("\请输入正确的用户名,用户名长度为3-18位！")
regform.username.focus()
return false;
}
if (isWhiteWpace(ssn)){
alert("\请输入正确的用户名,用户名中不能包含空格！")
regform.username.focus()
return false;
}
if (!isSsnString(ssn)){
alert("\    对不起，您选择的用户名不正确或已被占用！\n用户名应该由不区分大小写“a-z 0-9 ._-”字符组成！")
regform.username.focus()
return false;
}
return true;
}

function strlen(str){
	var len;
	var i;
	len = 0;
	for (i=0;i<str.length;i++){
		if (str.charCodeAt(i)>255) len+=2; else len++;
	}
	return len;
}
function strlen2(str){
	var len;
	var i;
	len = 0;
	for (i=0;i<str.length;i++){
		if (str.charCodeAt(i)>255) return true;
	}
	return false;
}
function isWhiteWpace (s)
{
  var whitespace = " \t\n\r";
  var i;
  for (i = 0; i < s.length; i++){   
     var c = s.charAt(i);
     if (whitespace.indexOf(c) >= 0) {
		  return true;
	  }
   }
   return false;
}
function isSsnString (ssn)
{
	var re=/^[0-9a-z][\w-.]*[0-9a-z]$/i;
	if(re.test(ssn))
		return true;
	else
		return false;
}
function checkssn(gotoURL) {
   var ssn=regform.username.value.toLowerCase();
   if (checkUserName(ssn)){
	   var open_url = gotoURL + "?username=" + ssn;
	   window.open(open_url,'','status=0,directories=0,resizable=0,toolbar=0,location=0,scrollbars=0,width=322,height=200');
	}
}

function checksmail(gotoURL) {
//   var mail=regform.email.value.toLowerCase();
   if (CheckEmail(regform.email,1)){
	   var open_url = gotoURL + "?email=" + regform.email.value.toLowerCase();
	   window.open(open_url,'','status=0,directories=0,resizable=0,toolbar=0,location=0,scrollbars=0,width=322,height=200');
	}
}
