﻿// JScript 文件
/*
  var items=[["text","TextBox1","请输入用户名","1"],0:是否为空或选择；1:是否整数；2:是否为实数；3:是否为时间类型;4:是否为中文字符
             ["checkbox","CheckBoxList1","请选择＊＊＊","0"],
             ["radio","RadioButtonList1","请选择radio","0"],
             ["select","DropDownList1","请选择droplist","0"]];
             */
var obj;
function IsPass()
{
  for(x=0;x<items.length;x++)
  {
     if(items[x][0]=="select")
     {
        if(!IsSelect(items[x][1]))
        {
           alert("温馨提示："+items[x][2]);
           if(obj)
              obj.focus();
           return false;
        }
     }
     else if(items[x][0]=="textarea")
     {
        if(!IsTextArea(items[x][1]))
        {
           alert("温馨提示："+items[x][2]);
           if(obj)
              obj.focus();
           return false;
        }
     }
     else
     {
        if(!IsInput(items[x][1],items[x][3]))
        {
           alert("温馨提示："+items[x][2]);
           if(obj)
              obj.focus();
           return false;
        }
     }
  }
  return true;
}
function IsInput(id,checktype)
{
   var inputs=document.documentElement.getElementsByTagName("input");
   for(i=0;i<inputs.length;i++)
   {  
      if(inputs[i].id.indexOf(id)!=-1)
      {
         obj=inputs[i];
         switch(inputs[i].type)
         {
           case "checkbox":
               if(inputs[i].checked)
                  return true;
               break;
           case "radio":
               if(inputs[i].checked)
                  return true;
               break;
           case "text":
               switch(checktype)
               {
                  case "0":
                     if(inputs[i].value!="")
                        return true;
                     break;
                  case "1":
                     if(IsInt(inputs[i].value))
                        return true;
                     break;
                  case "2":
                     if(IsNumeric(inputs[i].value))
                        return true;
                     break;
                  case "3":
                     if(IsDate(inputs[i].value))
                        return true;
                     break;
                  case "4":
                     if(IsChinese(inputs[i].value))
                        return true;
                      break;
                  case "5"://是否是有效身份证
                     return IsIdcard(inputs[i].value);
                      break;
                  default:
                     if(inputs[i].value!="")
                        return true;
                     break;
               }
               break;
            case "password":
               if(inputs[i].value!="")
                  return true;
               break;
         }  
      }
   }
   return false;
}
function IsSelect(id)
{
   var selects=document.documentElement.getElementsByTagName("select");
   for(i=0;i<selects.length;i++)
   {  
      if(selects[i].id.indexOf(id)!=-1)
      {
         obj=selects[i];
         if(selects[i].options.selectedIndex>0)
            return true;
      }
   }
   return false;
}
function IsTextArea(id)
{
   var textareas=document.documentElement.getElementsByTagName("textarea");
   for(i=0;i<textareas.length;i++)
   {  
      if(textareas[i].id.indexOf(id)!=-1)
      {
         obj=textareas[i];
         if(textareas[i].value!="")
            return true;
      }
   }
   return false;
}
function IsInt(str) //检查整数型数据
{
	var slen=str.length;
	var singlechar="";
	var j=0;
	var k=0;
	var l=0;
	var ret=true
	var allchar="0123456789";
	for(var i=0 ; i<slen ; i++)
       {
		singlechar=str.substring(i,i+1);
		if(allchar.indexOf(singlechar,0)==-1) 
                 ret=false;
	   }
	return ret;
}

function IsNumeric(str) //检查实数型数据
{
	var slen=str.length;
	var singlechar="";
	var j=0;
	var k=0;
	var l=0;
	var ret=true
	var allchar="0123456789.";
	for(var i=0 ; i<slen ; i++)
       {
		singlechar=str.substring(i,i+1);
		if(allchar.indexOf(singlechar,0)==-1) 
                 ret=false;
	   }
	return ret;
}

function IsDate(dateStr) 
{//是否为时间类型
    if(dateStr=="")
       return true;
    var datePat = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null) {
        //alert("时间格式为 年-月-日");
        return false;
    }

    year = matchArray[1];
    month = matchArray[3]; // parse date into variables
    day = matchArray[5];
    
    if (month < 1 || month > 12) { // check month range
        //alert("月份要在 1 - 12月之间");
        return false;
    }

    if (day < 1 || day > 31) {
        //alert("天要在1-31天之间");
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        //alert(month+"月 没有 31 天!")
        return false;
    }

    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) {
            //alert(year + " 二月没有 " + day + " 天!");
            return false;
        }
    }
    return true; // date is valid
}

function IsChinese(inputStr)//全部要求中文
{   
  //如果值为空，通过校验
  if(inputStr == "")   
     return true;   
  var pattern  =  /^([\u4E00-\u9FA5])*$/gi;
  //var  pattern=/[\u4E00-\u9FA5]/g;部分是中文
  if(pattern.test(inputStr))   
     return true;   
  else   
     return false;   
 } 

function IsIdcard(inputStr)//是否有效身份证
{
  if(inputStr!="")
  {
     if(inputStr.length==15 || inputStr.length==18)
        return true;
     else
        return false;  
  }
  return true;
}
