
function getGroupElementsByName(tag,elementtype,eltname)//取得名称重复元素数组
	{ 
	  var elts=document.getElementsByTagName(tag); 
	  var count=0; 
	  var elements=[]; 
	  for(var i=0;i<elts.length;i++)
	  	{ 
		 	if(elts[i].getAttribute("name")==eltname)
		   		{ 
					elements[count++]=elts[i]; 
				} 
	  	} 
	  return elements; 
	} 
 

function DateCheck(Obj)//取得校验属性并开始校验
	{   
	   
		var ObjDateCheckProperty=Obj.DateCheckProperty||Obj.getAttribute("DateCheckProperty");
		
		if(!ObjDateCheckProperty)
		{
			
			return true;
		}
		
		ObjDateCheckProperty=eval(ObjDateCheckProperty.Trim());
		
		
		
		var ObjValue=GetObjValue(Obj);
		var CheckResault;
		var NullCheckResault=NullCheck(ObjDateCheckProperty[0].Cannull,ObjValue);
		
			if(!NullCheckResault)
				{
					if(ObjValue.Trim()=="")
					{
						CheckResault=CheckResault||"必须填写。";
						
					}
					
					if(!JustSandDandC(ObjDateCheckProperty[0].JustSandDandC,ObjValue))
						{
							CheckResault=CheckResault||"只能是汉字、字母、正整数或它们的组合。" ;
						}
					if(!JustABCandD(ObjDateCheckProperty[0].JustABCandD,ObjValue))
						{
							CheckResault=CheckResault||"只能是字母开头、字母或数字结尾。" ;
						}
						
					if(!StartByStringCheck(ObjDateCheckProperty[0].StartByString,ObjValue))//必须以汉字，字母或数字开头	
						{
							CheckResault=CheckResault||"必须以汉字，字母或数字开头。";
						}
					if(!ExcludedHTML(ObjDateCheckProperty[0].ExcludedHTML,ObjValue))//排除HTML字符
						{
							CheckResault=CheckResault||'不允许使用如下字符，如果需要请用全角字符代替。<div style="font-size:16px;font-weight:bold;line-height:24px">& " ’< > \\ </div>';
						}
					if(!MaxLengthCheck(ObjDateCheckProperty[0].MaxLength,ObjValue))//必须以汉字，字母或数字开头	
						{
							CheckResault=CheckResault||'最多允许'+ObjDateCheckProperty[0].MaxLength+'个字符,一个汉字两个字符。';
							
						}
					if(!MinLengthCheck(ObjDateCheckProperty[0].MinLength,ObjValue))//必须以汉字，字母或数字开头	
						{
							CheckResault=CheckResault||'最少必须填写'+ObjDateCheckProperty[0].MinLength+'个字符。';
							
						}	
					if(!TimeCheck(ObjDateCheckProperty[0].TimeStyle,ObjValue))//必须以汉字，字母或数字开头	
						{
							CheckResault=CheckResault||'输入的数据不存在或格式不正确，格式必须为<div style="font-size:14px;color:#F30;letter-spacing:2px">'+ObjDateCheckProperty[0].TimeStyle+'。</div>';
							
						}	
					}
			if(CheckResault==undefined)
				{
					Obj.style.color="#000000";
				}
				else
				{
					Obj.style.color="#FF3300"; 
					
				}
			return (CheckResault==undefined ? true:CheckResault)
		
	}
	



function StartByStringCheck(ObjDateCheckProperty,Str)//汉字或字母数字开头
	{
		if(!ObjDateCheckProperty)
			{
				return true;
			}
		if(Str.match(/^([a-zA-Z0-9\u4e00-\u9fa5])+/g)==null)
			{
			return false;
			}
	return true;
	}


function JustSandDandC(ObjDateCheckProperty,Str)//字母，数字，中文或它们的组合
	{
		
		if(!ObjDateCheckProperty)
			{
				return true;
			}
		
		if(Str.match(/^([a-zA-Z0-9\u4e00-\u9fa5])[a-zA-Z0-9_\u4e00-\u9fa5]*$/g)==null)
			{
				return false;
			}
	return true;
	}

function JustABCandD(ObjDateCheckProperty,Str)//只能是以字母开头可包含数字
	{
		
		if(!ObjDateCheckProperty)
			{
				return true;
			}
		
		if(Str.match(/^([a-zA-Z])([a-zA-Z0-9_])*$/g)==null)
			{
				return false;
			}
	return true;
	}
	
function MinLengthCheck(ObjDateCheckProperty,Str)
	{
		if(!ObjDateCheckProperty)
			{
				return true;
			}
		
		if(GetStrLength(Str)<ObjDateCheckProperty)
			{
				return false;
			}
		return true;
	}

function MaxLengthCheck(ObjDateCheckProperty,Str)
	{
		if(!ObjDateCheckProperty)
			{
				return true;
			}
		
		if(!GetStrLength(Str,ObjDateCheckProperty))
			{
				return false;
			}
		return true;
	}
	
function GetObjValue(Obj)//取得对象值
	{
		
	switch(Obj.type)
		{
			case "select-one":
			return Obj.options[Obj.options.selectedIndex].value;
			break;
			case "text":
			return Obj.value;
			case "password":
			return Obj.value;
			break;
			case "textarea":
			return Obj.value;
			break;
			case "hidden":
			return Obj.value;
			break;
			case "button":
			return Obj.value;
			break;
			case "submit":
			return Obj.value;
			break;
			default:
			try
			{
				return Obj.contentWindow.document.body.innerHTML.Trim();
			}
			catch(e)
			{
				return Obj.parentNode.innerText;
			}
			break;
		}

	}


function MatchObjValueS(Obj,Str)//取得字符串集合
	{
		switch(Obj.type)
			{
				case "select-one":
				for(var i=0;i<Obj.options.childNodes.length;i++)
					{
						 if(Obj.options.childNodes[i].value==Str)
						 	{
								return false;
							}
					}
				break;
				case "text":
				if(Obj.value==Str){return false;}
				break;
				case "hidden":
				if(Obj.value==Str){return false;}
				break;
				case "button":
				if(Obj.value==Str){return false;}
				break;
				case "submit":
				if(Obj.value==Str){return false;}
				break;
				default:
				if(Obj.parentNode.innerText==Str){return false;}
				break;
		}
	return true;
	}

function TimeCheck(ObjDateCheckProperty,Str)//日期类型校验
	{
		
		if(!ObjDateCheckProperty)
			{
				return true;
			}
		if(Str.Trim()==""){return false}
		var reg = /^\d{4}-\d{1,2}-\d{1,2}$/; 
		if(reg.test(Str))
			{
	
			var   ar=Str.replace(/\-0/g,"-").split("-");   
			ar=new   Array(parseInt(ar[0]),parseInt(ar[1])-1,parseInt(ar[2]));   
			var   d=new   Date(ar[0],ar[1],ar[2]);   
			return d.getFullYear()==ar[0]   &&   d.getMonth()==ar[1]   &&   d.getDate()==ar[2];   
			}
	}

function NullCheck(ObjDateCheckProperty,Str)//是否空置的验证
	{
		
		if(ObjDateCheckProperty=="false")
			{
				return false;
			}
		return(Str.Trim()=="" ? true:false)
		
	}


function ExcludedHTML(ObjDateCheckProperty,Str)// 检测特殊HTML字符
	{
		if(!ObjDateCheckProperty)
			{
				return true;
			}
		
		if(Str.match(/[&"<>'\\]/g)!=null)
			{
				return false;
			} 
		return true;
	}
	
function GetStrLength(Str,MaxStrLen)//获取字符串字数  
	{   
  
    var intLength=0   ;
    for (var i=0;i<Str.length;i++)   
		{   
	  
			if ((Str.charCodeAt(i) < 0) || (Str.charCodeAt(i) > 255))
				{
				intLength=intLength+2; 
				}
			else  
	  			{
				intLength=intLength+1;    
				}
			if(MaxStrLen&&intLength>MaxStrLen)
			{
				return false;
			}
		}   
    return intLength   
	}   

