﻿//检测是否有非法字符
function IsBadWord(str)
{
	var ErrChar = "!@#$%^&*()+|=\\~`;'[]{}\"':;,./<>?";
    for ( var i = 0 ; i < str.length ; i++)
    {
        if ( ErrChar.indexOf(str.charAt( i )) > -1)
        {
            return true;
        }
    }
    return false;
}
//检测是否半角
function IsBanjiao(str) 
{
	var result = '';
	for (var i = 0; i < str.length; i++) 
	{
		code = str.charCodeAt(i);
		if (code >= 65281 && code < 65373) 
		{
			return false;
		}
	}
	return true;
}
//检测email
function IsEMail(str)
{
    var re=/^[\w.-]+@([0-9a-z][\w-]+\.)+[a-z]{2,3}$/i;
    if(!re.test(str))
    {
        return false;
    }
    return true;
}
//是否全为数字（0开头也算）
function IsNum(str)
{
    if ( str == "" || str == null )
    {
        return false;
    }
    for( var i=0;i<str.length;i++ )
    {
        if ( str.charAt(i) < '0' || str.charAt(i) > '9' )
            return false;
    }
    return true;
}
//是否中文
function IsChinese(str)
{
//    // [\u4E00-\uFA29]|[\uE7C7-\uE7F3]汉字编码范围 
//    var re1 = new RegExp("^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9])*$"); 
//    //否 
//    if (!re1.test(str))  
//    {
//    alert('否');
//    return false;
//    }
// alert('HSI');
//    return true; 
//    
  if(str.length == 0)
  return false;
  for(i = 0; i < str.length; i++)
  { 
     if(str.charCodeAt(i) > 128)
     {
        return true;
     }
  }
  return false;
  
}

//校验邮政编码
function IsPostNO(str)
{
var patrn=/^[0-9]{6}$/;
if (!patrn.test(str))
{
    return false;
}
return true;
}

//检测手机
function IsMobile(str){
	var patn = /^1\d{10}$/;
	if(!patn.test(str))
	{
	    return false;
	}
	return true; 	
}

//检测整数
function IsInt(str){
	var patn =/^[0-9]*$/;
	if(!patn.test(str))
	{
	    return false;
	}
	return true; 	
}

//检测金额数字
function IsFloat(str){
    
	var patn =/^[0-9]*\.{0,1}[0-9]{0,2}$/;
	if(!patn.test(str))
	{
	    return false;
	}
	return true; 	
}

//检测身份证
function IsIDCard(str){
	var patn =/^\d{18}|\d{15}$/;
	if(!patn.test(str))
	{
	    return false;
	}
	return true; 	
}

//0 验证对象id
//1 是否允许为空，可以为空就""，不允许空 则写上出错提示
//2 验证类型（。。。）
//3 在验证类型上出错的提示
//4 自定义其他验证，成功返回""，失败返回失败的字符串

var __a = new Array();
function _CheckOne(__o)
{
    var obj = $(__o[0]);//取得验证对象
        var objError = $('div'+__o[0]+'Error');//取得验证对象
        //objError.innerHTML = "";
        var __eTXT = '';
        var tempRet = true;
//        
        if(__o[1]!='')
        {
            if(obj.value =='')
            {
                __eTXT = '<br/>' + __o[1];
                tempRet = false;
            }
        }
        
        if(obj.value != ''&&__o[2]!='')
        {
            switch(__o[2])
            {
                case 'float':
                    if(!IsFloat(obj.value)||obj.value.lenth>10)
                    {
                        __eTXT += '<br/>' + __o[3];
                        tempRet = false;
                    }
                    break;
                case 'mobile':
                    if(!IsMobile(obj.value))
                    {
                        __eTXT += '<br/>' + __o[3];
                        tempRet = false;
                    }
                    break;
                case 'postno':
                    if(!IsPostNO(obj.value))
                    {
                        __eTXT += '<br/>' + __o[3];
                        tempRet = false;
                    }
                    break;
                case 'int':
                    if(!IsInt(obj.value)||obj.value.lenth>8)
                    {
                        __eTXT += '<br/>' + __o[3];
                        tempRet = false;
                    }
                    break;
                case 'num':
                    if(!IsNum(obj.value))
                    {
                        __eTXT += '<br/>' + __o[3];
                        tempRet = false;
                    }
                    break;
                case 'idcard':
                    if(!IsIDCard(obj.value))
                    {
                        __eTXT += '<br/>' + __o[3];
                        tempRet = false;
                    }
                    break;
                case 'email':
                    if(!IsEMail(obj.value))
                    {
                        __eTXT += '<br/>' + __o[3];
                        tempRet = false;
                    }
                    break;
            }
        }
        
        var myError = eval(__o[4]);
        if(myError != ''&& myError !=undefined )
        {
            __eTXT += '<br/>' + myError;
            tempRet = false;
        }
        
        if(obj.value != '' && __o[5] != undefined && __o[6] != undefined)
        {
            if(obj.value.length<__o[5]||obj.value.length>__o[6])
            {
                var _t_ = ''
                if(__o[5] == __o[6])
                {
                    _t_ = __o[6];
                }
                else
                {
                    _t_ = __o[5]+'到'+__o[6];
                }
                __eTXT += '<br/>输入长度有误（请输入'+_t_+'个字符）。';
                tempRet = false;
            }
        }
        
        if(!tempRet)
        {
            objError.innerHTML = __eTXT.substring(5);
            objError.style.display = 'block';
            return false;
        }
        else
        {
            objError.innerHTML = '';
            objError.style.display = 'none';
            return true;
        }
}
function _CheckAll()
{
    var ret = true;
    
    for(var i=0;i<__a.length;i++)
    {   
        if(!_CheckOne(__a[i]))
        {
            ret = false;
        }
    }
    return ret;
}
