﻿/*
    Date:2008-04-08
    Author:jingliangliang
    Module:Check判断
*/
 
///<summary>
///得到对象和属性操作
///</summary>
///<param name="el">控件的对象</param>
var $ = function(el){
	return (typeof el == 'object')?el:document.getElementById(el);
};
var $A = function(el){
	return (typeof el == 'object')?el:document.all(el); //IE Only 
};
var $C = function(el){
	return document.createElement(el);	
};
var $N = function (el) {
     return (typeof el == 'object')?el:document.getElementsByName(el) ;
};
/// <summary>
/// 去掉前后空格
/// </summary>
/// <param name="value">控件值</param>
var Trim=function(value)
{
	return  value.replace(/(^\s*)  |(\s*$)/g,  "");
};
/// <summary>
/// alert扩展(弹出信息,并获得焦点,选择中)
/// </summary>
/// <param name="control">控件的对象</param>
/// <param name="mes">alert信息</param>
var AlertReam = function(control,mes)
{
    alert(mes);
    control.focus();
};
///<summary>
///正则判断（错误）
///</summary>
///<param name="re">正则</param>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var FalseRegExpResult=function(re,control,mes)
{
    if(!re.test(control.value.toLowerCase()))
    {
        AlertReam(control,mes)
        return true;
    }
    else
    {
        return false;
    }
};
///<summary>
///正则判断（正确）
///</summary>
///<param name="re">正则</param>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
function TrueRegExpResult(re,control,mess)
{
    if(re.test(control.value.toLowerCase()))
    {
        AlertReam(control,mess)
        return true;
    }
    else
    {
        return false;
    }
}
/*------------------------------------条件成立返回true,不成立返回false---------------------------------------*/
///<summary>
///判断文本框控件是否为空
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsEmpty = function(control,mes)
{	
	if(Trim(control.value)=="")
	{
		AlertReam(control,mes)
		return true;
	}
	return false;
	
};

///<summary>
///确认信息
///</summary>
///<param name="mes">提示信息</param>
var PromptConfirm=function(mes)
{
    if (confirm(mes) != 0)
         return true;
    else
         return false;
};

///<summary>
///控件是否大于某个值
///</summary>
///<param name="control">控件num1的对象</param>
///<param name="num">比较的值（可以在前面写成$("").value 可以来比较两控件的比较）</param>
///<param name="mes">提示信息</param>
var ValueCompare=function(control,num,mes)
{
    if(Trim(control.value)!="")
    {        alert(control.value);
        if(control.value>num)
        {
            AlertReam(control,mes);
            return true;
        }else
        {
            return false;
        }
    }
};

///<summary>
///控件值的长度是否大于某个值
///</summary>
///<param name="control">控件num1的对象</param>
///<param name="num">比较的值（可以在前面写成$("").value 可以来比较两控件的比较）</param>
///<param name="mes">提示信息</param>
var LengthCompare=function(control,num,mes)
{
    if(Trim(control.value)!="")
    {
        if(control.value.length>num)
        {
            AlertReam(control,mes);
            return true;
        }else
        {
            return false;
        }
    }
};

///<summary>
///是否是移动手机号
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotMobileTelephone = function(control,mes)
{
    if(Trim(control.value)!="")
    {
       var re=/^(13\d{1}\d{8})|(159\d{8})$/i;
       return FalseRegExpResult(re,control,mes);
    }
    return false;
};

///<summary>
///判断是否含有脚本字符
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsHaveScript=function(control,mes)
{
    if(Trim(control.value)!="")
    {
         var re = /(<(.)+>)/i;         
         return TrueRegExpResult(re,control,mes);
     }
     return false;
};

///<summary>
///判断是否是合格的Url
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var UrlCheck=function(control,mes)
{
   if(Trim(control.value)!="")
   {
     var re = /^(http[s]{0,1}:\/\/(.)*)/i;       
     return FalseRegExpResult(re,control,mes);
   }
   return false;
};

///<summary>
///判断是否是合格的Email
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var EmailCheck=function(control,mes)
{
   if(Trim(control.value)!="")
   {
     var re = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/i;
     return FalseRegExpResult(re,control,mes);
   }
   return false;
};

///<summary>
///下拉框是否被选择
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotSelect=function(control,mes)
{
    if(Trim(control.value)=="")
    {
        AlertReam(control,mes);
        return true;
    }
    return false;
};

///<summary>
///判断是否是合格的电话号码
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotPhone=function(control,mes)
{
   if(Trim(control.value)!="")
   {
     var re = /^\d{3,4}-{0,1}\d{7,8}(-\d{3,4}){0,1}$/i;
     return FalseRegExpResult(re,control,mes);
   }
   return false;
};

///<summary>
///判断是否大于Int的最大值
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotMaxInt = function(control,mes)
{
    if(control.value >= 2147483647)
    {    
        AlertReam(control,mes);  
        return true;
    }
    return false;   
};

///<summary>
///判断是否是合格的整数
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotInt=function(control,mes)
{
   if(Trim(control.value)!="")
   {
     var re=/^\d+$/i;
     return FalseRegExpResult(re,control,mes);
   }
   return false;
};

///<summary>
///判断是否是合格的小数
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotFloat=function(control,mes)
{
   if(Trim(control.value)!="")
   {
     var re=/^\d+.\d+$/i;
     return FalseRegExpResult(re,control,mes);
   }
   return false;
};

///<summary>
///判断是否是合格的日期
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotDate=function(control,mes)
{
   if(Trim(control.value)!="")
   {
     var re=/^(\d{4}-((0{0,1}[1-9]{1})|(1[0-2]{1}))-((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1})))/i;
     return FalseRegExpResult(re,control,mes);
   }
   return false;
};

///<summary>
///判断是否是合格的身份证号
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotIdCord=function(control,mes)
{
   if(Trim(control.value)!="")
   {
     var re = /^((1[12345]{1})|(2[123]{1})|(3[1234567]{1})|(4[123456]{1})|(5[1234]{1})|(6[12345]{1})|(7[1]{1})|(8[12]{1})|(9[1]{1}))((\d{13})|(\d{16}))$/i;
     return FalseRegExpResult(re,control,mes);
   }
   return false;
};

///<summary>
///判断是否是合格的邮政编码
///</summary>
///<param name="control">控件的对象</param>
///<param name="mes">提示信息</param>
var IsNotPostalcode=function(control,mes)
{
   if(Trim(control.value)!="")
   {
     var re=/^[1-9]\d{5}$/i;
     return FalseRegExpResult(re,control,mes);
   }
   return false;
};

///<summary>
///CheckBox判断 - 只允许One选择
///</summary>
///<param name="control">控件的名称</param>
///<param name="mes0">没有选择一个的信息</param>
///<param name="mes1">选择多于一个的信息</param>
var CheckBoxOne = function(control,mes0,mes1){
  for(var i= 0,j=0;i < $N(control).length; i++){
    if($N(control)[i].checked){    
        j++;
    }
  }if(j ==0){
    alert(mes0);
    return true;
  }if(j >1){
     alert(mes1);
     return true;
  }
  return false;
};

///<summary>
///CheckBox判断 - 允许More多个选择
///</summary>
///<param name="control">控件的名字</param>
///<param name="mes0">没有选择一个的信息</param>
///<param name="mes">确认要操作的信息</param>
var CheckBoxMore = function(control,mes0,mes){
      for(var i= 0,j=0;i < $N(control).length; i++){
        if($N(control)[i].checked){    
            j++;
        }
      }if(j==0){
        alert(mes0);
        return true;
      }if(j>0){
        if(confirm(mes) != 0){
           return false;
        }else{
          return true;
           }
      }
    return false;     
};

