﻿// JScript File

var bCheck ;
var blCheck;
var strMessage = "";        // 用于储存Alert讯息
var strFields  = "";        // 用于获得焦点字段的字段名称
var strCount   = "0";       // 用语控制三字段日期不Alert重复信息
var VStr       = "共产党|法轮功";   // 需屏蔽的字符串

/// <summery> 提交字段检查数据 </summery>
/// function checkData(Fields,FieldsName,CheckType,Length,IsEmpty,strLanguage)的参数说明
/// Fields:     需验证字段的name属性值
/// FieldsName: 需字段的中文名称
/// CheckType:  验证类型:
///             "integer":整型   "number":数字类型,可以为0开头 "dropdownlist":下拉选单   "radio":单选框   "listbox":下拉列表   
///             "date":日期"   numericletter":英数字型   "letter":英文字型   
///             "numeric":数字(2,2)   "amt":金额(6,2)   "rate":百分比   "numeric2":数字(?,?)  "rate2":百分比(?,?)
///             "text":文字+符号(varchar)   "ntext":文字+符号(nvarchar)  "identificationcard": 验证身分证 "CNCheckIdentificationCard": 验证身分证 大陆
///             "notchinese":验证不能是中文类型 "HH":时间小时  "MM":时间分钟  "time":时间 "email":邮件格式  "nochar"非字符型
/// Length:     字段长度(MaxLength)
/// IsEmpty:    是否允许为空(true 表示允许为空;false 表示不允许为空)
/// strLanguage:  语言别(英文,简体,繁体)
function checkData(Fields,FieldsName,CheckType,Length,IsEmpty,strLanguage)
{
    bCheck = true;
	blCheck = true;
	strMessage = "";

	var fields      = Fields.split(";");        // 字段的name属性值
	var fieldsname  = FieldsName.split(";");    // 字段的中文名称
	var checktype   = CheckType.split(";");     // 字段的验证类型
	var length      = Length.split(";");        // 字段的验证长度
	var isempty     = IsEmpty.split(";");       // 字段是否允许为空	
	
	for(var j=1;j<6;j++)
	{		  
	    switch(j)
		{		   
		    // 是否为空检查
		    case 1:                     
		        for(var i=0;i<fields.length;i++)
				{
                    var name = document.getElementsByName(fields[i]);
					if(isempty[i] == 'false')
					{
					    switch(checktype[i])
					    {
					        case "radio":
					            // 验证单选框不可为空
					            CheckEmptyRadio(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "dropdownlist":
					            // 验证下拉选单不可为空
					            CheckEmptyDropdownList(fields[i],fieldsname[i],strLanguage);   
					            break;
					        case "listbox":
					            // 验证下拉列表不可为空
					            CheckEmptyListBox(fields[i],fieldsname[i],strLanguage);   
					            break;
					        default:
					            // 验证输入内容不可为空					            
					            CheckEmpty(fields[i],fieldsname[i],strLanguage);                
					            break;
					    } 
					}	
				}
				
				break;
				
			// 数据类型检查
		    case 2: 
		        for(var i=0;i<fields.length;i++)
				{
                    var name = document.getElementsByName(fields[i]);
					if(name[0].value != "")
					{
					    switch(checktype[i])
					    {
					        case "letter":
					            // 验证英文字型 
					            CheckLetter(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "numericletter":
					            // 验证英数字型
					            CheckLetterNumeric(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "date":
					            // 验证日期"YYYY/MM/DD"
					            CheckDate(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "integer":
					            // 验证整型
					            CheckInteger(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "notnegative":
					            // 验证非负整数
					            CheckNotNegativeInteger(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "number":
					            // 验证数字,可以为0开头
					            CheckNumber(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "numeric":
					            // 验证数字(2,1)两位整数一位小数
					            CheckNumeric(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "amt":
					            // 验证金额(6,2)六位整数两位小数
					            CheckAMT(fields[i],fieldsname[i]);
					            break;
					        case "rate":
					            // 验证百分比
					            CheckRate(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "notchinese":
					            // 验证不能是中文类型
					            CheckNotChinese(fields[i],fieldsname[i]);
					            break;
					        case "dateYYYYMM":
					            CheckYYYYMM(fields[i],fieldsname[i],strLanguage);
					            break;
					            //验证时间小时 
					        case "HH":
					            CheckTimeHour(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "MM":
					            //验证时间分钟
					            CheckTimeMinute(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "numeric2":
					            //验证数字(?,?)?位整数?位小数
					            CheckNumeric2(fields[i],fieldsname[i],length[i],strLanguage);
					            break;
					        case "numeric3":
					            CheckNumeric3(fields[i],fieldsname[i],length[i],strLanguage);
					            break;
					        case "rate2":
					            //验证百分比(?,?)?位整数?位小数
					            CheckRate2(fields[i],fieldsname[i],length[i],strLanguage);
					            break;
					        case "time":
					            //验证时间
					            CheckTime(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "email":
					            // 验证email格式
					            CheckEmail1(fields[i],fieldsname[i],strLanguage);
					            break;
					        case "mindate":
					            // 验证民国年 
					            CheckMinDate(fields[i],fieldsname[i],strLanguage);
					            break;
				            case "identificationcard":
				                // 验证身分证 
				                CheckIdentificationCard(fields[i],fieldsname[i],strLanguage);
				                break;
				            case "cnidentificationcard":
				                // 验证身分证 
				                CNCheckIdentificationCard(fields[i],fieldsname[i],strLanguage);
				                break;
				            case "nochar":
				                // 验证身分证 
				                CheckNoChar(fields[i],fieldsname[i],strLanguage);
				                break;				                
					        default:
					            break;
					    } 	
					}
				}                    
		    
		        break;
		        
		    // 长度检查    
		    case 3: 
		        for(var i=0;i<fields.length;i++)
				{
                    var name = document.getElementsByName(fields[i]);
					if(name[0].value != "")
					{
					    switch(checktype[i])
					    {
					        case "text":
					        case "letter":
					        case "numericletter":
					        case "notchinese":
                                CheckLength(length[i],fields[i],fieldsname[i])
                                break;
                            case "ntext":
                                CheckLength1(length[i],fields[i],fieldsname[i])
                                break;
					        default:
					            break;
					    } 
					}
				}      
		    
		        break;
		}
	}
    
	if(!blCheck && strMessage != "")
	{
	    strMessage = strMessage.replace(/\﹗/g, "﹗\n");
	    
	    alert(strMessage);
	    
	    strMessage="";
	    
	    // Add by snail at 2010/04/22 添加判断,捕获异常
	    try
	    {
	        if(document.getElementsByName(strFields)[0].disabled == false)
            {
	            document.getElementsByName(strFields)[0].focus();
            }
        }
        catch(e)
        {
        
        }
	}
	
	return blCheck;
}


// 检查是否为空
function CheckEmpty(Fields,FieldsName,strLanguage)
{
	var name = document.getElementsByName(Fields);
	var nameValue = name[0].value;        
	
	if (nameValue.replace(/(^\s*)|(\s*$)/g, "") == "")
	{
		blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage +=  FieldsName + "不能为空﹗";
		         break;
		    case "zh-cn":
		        strMessage +=  FieldsName + "不能为空﹗";
		        break; 
		     case "en-us":
		        strMessage +=  FieldsName + ":is not allowed for being empty﹗";
		        break; 
		}
	}
}


// 验证ListBox是否没有选择
function CheckEmptyListBox(Fields,FieldsName,strLanguage)
{
    var name = document.getElementsByName(Fields);
    var nameLength = name[0].options.length;
	
    if (nameLength <= 0)
	{	
		blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
		
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage += "请选择" + FieldsName + "﹗";
		         break;
		    case "zh-cn":
		        strMessage += "请选择" + FieldsName + "﹗";
		        break; 
		     case "en-us":
		        strMessage += "Please select" + FieldsName + "﹗";
		        break; 
		}
	}
}


// 检查DropdownList是否没有选择 
// Add by snail at 2010//04/23 程序中下来选单有存在"不拘"的情况,"不拘"==>未选择
function CheckEmptyDropdownList(Fields,FieldsName,strLanguage)
{
	if (document.getElementsByName(Fields)[0].value == "" || document.getElementsByName(Fields)[0].value == "不拘")
	{	
		blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
		
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage += "请选择" + FieldsName + "﹗";
		         break;
		    case "zh-cn":
		        strMessage += "请选择" + FieldsName + "﹗";
		        break; 
		     case "en-us":
		        strMessage += "Please select" + FieldsName + "﹗";
		        break; 
		}
	}
}


// 检查RadioButtonList是否没有选择
function CheckEmptyRadio(Fields,FieldsName,strLanguage)
{
    bCheck = false;
    var fieldRadio = document.getElementsByName(Fields);
    
    for(var i=1;i<fieldRadio.length;i++)
	{ 
	    if(fieldRadio[i].checked)
	    {
	        bCheck = true;
	    }
	}
	
	if (bCheck == false)
	{
	    blCheck = false;
	    if (strMessage == "")
		{
			strFields = Fields;
		}
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage += "请选择" + FieldsName + "﹗";
		         break;
		    case "zh-cn":
		        strMessage += "请选择" + FieldsName + "﹗";
		        break; 
		     case "en-us":
		        strMessage += "Please select" + FieldsName + "﹗";
		        break; 
		}
	}
}


// 验证英文字格式
function CheckLetter(Fields,FieldsName,strLanguage)
{
    var bCheck = true;
	var sRegularExp = /^[a-z]+$/i;
	bCheck = sRegularExp.test(document.getElementsByName(Fields)[0].value);
	
	if (bCheck == false)
	{
		blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
		
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage +=  FieldsName + "只能输入英文﹗";
		         break;
		    case "zh-cn":
		        strMessage += FieldsName + "只能输入英文﹗";
		        break; 
		     case "en-us":
		        strMessage +=  FieldsName + "﹗";
		        break; 
		}
	}
}

// 验证是中文类型\英文类型、数字（非特殊字符）
function CheckNoChar(Fields,FieldsName,strLanguage)
{
    var bCheck = true;
	var sRegularExp = /^([a-z]|[0-9]|[\u4e00-\u9fa5])+$/i;
	bCheck = sRegularExp.test(document.getElementsByName(Fields)[0].value);
	
	if (bCheck == false)
	{
		blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
		
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage +=  FieldsName + "只能输入中文、英文或数字﹗";
		         break;
		    case "zh-cn":
		        strMessage += FieldsName + "只能输入中文、英文或数字﹗";
		        break; 
		     case "en-us":
		        strMessage +=  FieldsName + "﹗";
		        break; 
		}
	}
	else
	{
    	Vstring(Fields,FieldsName);
	}	
}


// 验证英数字格式
function CheckLetterNumeric(Fields,FieldsName,strLanguage)
{
    var bCheck = true;
	var sRegularExp = /^[A-Z0-9]+$/i;
	bCheck = sRegularExp.test(document.getElementsByName(Fields)[0].value);
	
	if (bCheck == false)
	{
		blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
		
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage +=  FieldsName + "英数字格式不正确,请输入正确的英数字格式﹗";
		         break;
		    case "zh-cn":
		        strMessage +=  FieldsName + "英数字格式不正确,请输入正确英数字格式﹗";
		        break; 
		     case "en-us":
		        strMessage +=  FieldsName + "Alphanumeric format incorrect, please input correct alphanumeric format﹗";
		        break; 
		}
	}
}


// 验证日期"YYYY/MM/DD"
function CheckDate(Fields,FieldsName,strLanguage)
{
    var bCheck = true;
    var sValue = document.getElementsByName(Fields)[0].value;
    var sRegularExp = /^(\d+)\-(\d{1,2})\-(\d{1,2})$/;     
    var regDate = sValue.match(sRegularExp);   
      
    if(regDate == null)
	    bCheck = false; 
	else
	{
        regDate[2] = regDate[2]-1;     
        var date= new Date(regDate[1],regDate[2],regDate[3]); 
            
        if(date.getFullYear()!=regDate[1])
	        bCheck = false; 	   
        else if(date.getMonth()!=regDate[2])
	        bCheck = false;      
        else if(date.getDate()!=regDate[3])
	        bCheck = false;  	
	}

    if (bCheck == false)
	{
		blCheck = false; 
		if (strMessage == "")
		{
			strFields = Fields;
		}
		
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage +=  FieldsName + "输入日期格式不正确﹗";
		         break;
		    case "zh-cn":
		        strMessage +=  FieldsName + "输入日期格式不正确﹗";
		        break; 
		     case "en-us":
		        strMessage +=  FieldsName + "Date format incorrect﹗";
		        break; 
		}
	}
}

//验证是否是整数值,可以是正数或负数,可以是0开头的数字
function CheckInteger(Fields,FieldsName,strLanguage)
{
    var bCheck = true;
	var sRegularExp = /^[+_\-]?[1-9][0-9]+$|^[+_\-]?[0-9]$/;
	
	bCheck = sRegularExp.test(document.getElementsByName(Fields)[0].value);
	
	if (bCheck == false)
	{
		blCheck = false
		if (strMessage == "")
		{
			strFields = Fields;
		}
		 switch(strLanguage)
        {
            case "zh-tw":
                 strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
                 break;
            case "zh-cn":
                strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
                break; 
             case "en-us":
                strMessage +=  FieldsName + "：Number format incorrect, please input correct format﹗";
                break; 
        }	
	}	
}

//验证是否是正整数值
function CheckNotNegativeInteger(Fields,FieldsName,strLanguage)
{
   var bCheck = true;
	var sRegularExp = /^[+_\-]?[1-9][0-9]+$|^[+_\-]?[0-9]$/;

	if(document.getElementsByName(Fields)[0].value.substring(0,1)=="-")
	{
	    bCheck = false;
	}
	else
	{
	    bCheck = sRegularExp.test(document.getElementsByName(Fields)[0].value); 
	}
	
	if (bCheck == false)
	{
		blCheck = false
		if (strMessage == "")
		{
			strFields = Fields;
		}
		 switch(strLanguage)
        {
            case "zh-tw":
                 strMessage +=  FieldsName + "数字格式不正确,请输入正整数﹗";
                 break;
            case "zh-cn":
                strMessage +=  FieldsName + "数字格式不正确,请输入正整数﹗";
                break; 
             case "en-us":
                strMessage +=  FieldsName + "：Number format incorrect, please input correct format﹗";
                break; 
        }	
	}	
}

//验证是否是整数值,可以是正数或负数,可以是0开头的数字
function CheckNumber(Fields,FieldsName,strLanguage)
{
    var bCheck = true;
	var sRegularExp = /^[0-9][0-9]+$|^[0-9]$/;
	
	bCheck = sRegularExp.test(document.getElementsByName(Fields)[0].value);
	
	if (bCheck == false)
	{
		blCheck = false
		if (strMessage == "")
		{
			strFields = Fields;
		}
		 switch(strLanguage)
        {
            case "zh-tw":
                 strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式!";
                 break;
            case "zh-cn":
                strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式!";
                break; 
             case "en-us":
                strMessage +=  FieldsName + "：Number format incorrect, please input correct format﹗";
                break; 
        }	
	}	
}

//验证Email格式
function CheckEmail1(Fields,FieldsName,strLanguage)
{
    var bCheck = true;
//	var sRegularExp = /^[a-zA-Z]([a-zA-Z0-9]*[-_.]?[a-zA-Z0-9]+)+@([\w-]+\.)+[a-zA-Z]{2,}$/;
	var sRegularExp = /^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9]+[.]{1}[a-zA-Z0-9_\-\.]*$/;
	bCheck = sRegularExp.test(document.getElementsByName(Fields)[0].value); 
	
	if (bCheck == false)
	{
		blCheck = false
		if (strMessage == "")
		{
			strFields = Fields;
		}
		 switch(strLanguage)
        {
            case "zh-tw":
                 strMessage +=  FieldsName + "格式不正确,请输入正确的格式!";
                 break;
            case "zh-cn":
                strMessage +=  FieldsName + "格式不正确,请输入正确的格式!";
                break; 
             case "en-us":
                strMessage +=  FieldsName + "：Text format incorrect, please input correct format﹗";
                break; 
        }	
	}	
}

// 验证数字(2,2)两位整数一位小数
function CheckNumeric(Fields,FieldsName,strLanguage)
{
    var strValue = document.getElementsByName(Fields)[0].value;
    
    if (/\./.exec(strValue) != null)			// 检查是否含有小数点.
	{
		var aryDbl = strValue.split(".");		// 有小数点时,将其分割开分别判断.
		if (aryDbl.length > 2)					// 如果有多个小数点时提示错误.
		{
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
//		   switch(strLanguage)
//	        {
//	            case "zh-tw":
//	                 strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗!";
//	                 break;
//	            case "zh-cn":
//	                strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
//	                break; 
//	             case "en-us":
//	                strMessage +=  FieldsName + "：Number format incorrect, please input correct format﹗!";
//	                break; 
//	        }	
			 strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
		}
		else
		{
		    var intInt = aryDbl[0];             // 记录整数部分
		    var intDec = aryDbl[1];             // 记录小数部分
		        		
		    if (!(/^\d+$/.test(intInt)))	    // 整数部份需为数字,且长度不能大于2.
		    {
		        blCheck = false;
		        if (strMessage == "")
	            {
		            strFields = Fields;
	            }
	            
		        strMessage +=  FieldsName + "整数字不是数字﹗"; 
		    }
		    else if (intInt.length > 2)
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		
		        strMessage += FieldsName + "整数字长度不可大于2﹗";                
		    }
		    else if (!(/^\d+$/.test(intDec)))	//小数部份需为数字,且长度不能大于2.
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
			    strMessage += FieldsName + "小数字不是数字﹗ ";			    
		    }
		    else if(intDec.length > 2)	
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
		        strMessage += FieldsName + "小数字长度不可大于2﹗";
		    }
		}
		
	}
	else										//如果输入的全部为整数,判断其是否数字并长度不可大于2.
	{
		if (!(/^\d+$/.test(strValue)))
		{
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
		    
			strMessage += FieldsName + "请输入数字﹗";
		}
		else if ((strValue.length > 2))
		{ 
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
		    
		    strMessage += FieldsName + "整数字长度不可大于2﹗";
		}
	}
}

// 验证金额(6,2)六位整数两位小数
function CheckAMT(Fields,FieldsName)
{
    var strValue = document.getElementsByName(Fields)[0].value;
    
    if (/\./.exec(strValue) != null)			// 检查是否含有小数点.
	{
		var aryDbl = strValue.split(".");		// 有小数点时,将其分割开分别判断.
		if (aryDbl.length > 2)					// 如果有多个小数点时提示错误.
		{
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
		    
			strMessage += FieldsName + "请输入正确的数字格式﹗";
		}
		else
		{
		    var intInt = aryDbl[0];             // 记录整数部分
		    var intDec = aryDbl[1];             // 记录小数部分
		        		
		    if (!(/^\d+$/.test(intInt)))	    // 整数部份需为数字,且长度不能大于8.
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
			    strMessage += FieldsName + "整数字不是数字﹗";
		    }
		    else if (intInt.length > 8)
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
		        strMessage += FieldsName + "整数字长度不可大于8﹗";
		    }
		    else if (!(/^\d+$/.test(intDec)))	// 小数部份需为数字,且长度不能大于2.
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
			    strMessage += FieldsName + "小数字不是数字﹗ ";
		    }
		    else if(intDec.length > 2)	
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
		        strMessage += FieldsName + "小数字长度不可大于2﹗";
		    }
		}
		
	}
	else										// 如果输入的全部为整数,判断其是否数字并长度不可大于8.
	{
		if (!(/^\d+$/.test(strValue)))
		{
		    blCheck = false;
		    if (strMessage == "")
	        {
		        strFields = Fields;
	        }
	        
			strMessage += FieldsName + "请输入数字﹗";
		}
		else if ((strValue.length > 8))
		{
		    blCheck = false;
		    if (strMessage == "")
	        {
		        strFields = Fields;
	        }
		    strMessage += FieldsName + "整数字长度不可大于8﹗";
		}
	}

}

// 验证百分比,不可超过100
function CheckRate(Fields,FieldsName,strLanguage)	
{
   
    var strValue = document.getElementsByName(Fields)[0].value;
    
    if (isNaN(strValue))	    // 需为数字

    {
        blCheck = false;
        if (strMessage == "")
		{
			strFields = Fields;
		}
		   switch(strLanguage)
	        {
	            case "zh-tw":
	                 strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
	                 break;
	            case "zh-cn":
	                strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
	                break; 
	             case "en-us":
	                strMessage +=  FieldsName + "：Number format incorrect, please input correct format﹗";
	                break; 
	        }		
	   
    }
    else if (strValue > 100)
    {
        blCheck = false;
        if (strMessage == "")
		{
			strFields = Fields;
		}
		  switch(strLanguage)
        {
            case "zh-tw":
                 strMessage +=  FieldsName + "不能大于100﹗";
                 break;
            case "zh-cn":
                strMessage +=  FieldsName + "不能大于100﹗";
                break; 
             case "en-us":
                strMessage +=  FieldsName + "can't exceed 100﹗";
                break; 
        }		
      
    }
}	

// 检查长度---DB字段类型 char,varchar
function CheckLength(Length,Fields,FieldsName)
{
	var name = document.getElementsByName(Fields);
	var psValue = name[0].value;
		
	Length = parseInt(Length);

	var sCheckString = new String(psValue);
	var iCharCounter = 0;

	for (var i=0; i<sCheckString.length; i++)
	{
	    // 如果为中文的话一个中文按两位计算
		if (sCheckString.charCodeAt(i) > 255)
		{
			iCharCounter += 2;
		}
		else
		{
			iCharCounter++;
		}
	}	

	if (iCharCounter > Length)
	{
		blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
			
		strMessage += FieldsName + "最多只能输入"+Length+"码,请确认后重新输入﹗";
	}
	
	Vstring(Fields,FieldsName);
}	 

// 检查长度---DB字段类型 nchar, nvarchar
function CheckLength1(Length,Fields,FieldsName)
{
	var name = document.getElementsByName(Fields);
	var psValue = name[0].value;
	Length = parseInt(Length);
	
	var sCheckString = new String(psValue);
	var iCharCounter = sCheckString.length;
				
	if (iCharCounter > Length)
	{
		blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
		
		strMessage += FieldsName + "最多只能输入"+Length+"码,请确认后重新输入﹗";
	}
	
	Vstring(Fields,FieldsName);
}      



//验证不能是中文类型
function CheckNotChinese(Fields,FieldsName)
{
	var strValue;
	strValue = document.getElementsByName(Fields)[0].value;
	
	if((strValue.replace(/[\u4e00-\u9fa5]/g,"")).length != strValue.length)
	{
	    blCheck = false;
		if (strMessage == "")
		{
			strFields = Fields;
		}
		
		strMessage += FieldsName + "只能输入英文、数字及'_' 等符号﹗";		
	}
} 

// 验证日期"YYYYMM"
function CheckYYYYMM(Fields,FieldsName,strLanguage)
{
    var bCheck = true;
    var sValue = document.getElementsByName(Fields)[0].value;   
    var sRegularExp = /^[+_\-]?[1-9][0-9]+$|^[+_\-]?[0-9]$/;
    
    bCheck = sRegularExp.test(sValue); 
    
    var strYear;
    var intMonth;
    

    if(sValue.length != 6)
    {
        bCheck = false; 
    }
    else
    {
        strYear = sValue.substring(0, 4)
        intMonth = sValue.substring(4, 6)
        
        if(strYear == '0000')
        {
             bCheck = false; 
        }
        
        if(13<intMonth)
        {
            bCheck = false;    
        }
        if(0>intMonth)
        {
             bCheck = false;    
        }
    }

    if (bCheck == false)
	{
		blCheck = false; 
		if (strMessage == "")
		{
			strFields = Fields;
		}
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage +=  FieldsName + "输入日期格式不正确﹗";
		         break;
		    case "zh-cn":
		        strMessage +=  FieldsName + "输入日期格式不正确﹗";
		        break; 
		     case "en-us":
		        strMessage +=  FieldsName + "Date format incorrect ﹗";
		        break; 
		}
		//strMessage += FieldsName + "日期格式不正确,请按【YYYYMM】格式重新输入﹗";
	}
} 

// 验证时间 "HH"
function CheckTimeHour(Fields,FieldsName,strLanguage)
{   
    var bCheck = false;
    var sValue = document.getElementsByName(Fields)[0].value;
    
    if (!isNaN(new Number(sValue)))
    {
        if (sValue >= 0 && sValue <24)
        {
            bCheck = true;    
        }     
    }

    if (bCheck == false)
	{
		blCheck = false; 
		if (strMessage == "")
		{
			strFields = Fields;
		}
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage +=  FieldsName + "输入时间小时格式不正确﹗";
		         break;
		    case "zh-cn":
		        strMessage +=  FieldsName + "输入时间小时格式不正确﹗";
		        break; 
		     case "en-us":
		        strMessage +=  FieldsName + "TimeHour format incorrect ﹗";
		        break; 
		}
	}    
}

// 验证时间 "MM"
function CheckTimeMinute(Fields,FieldsName,strLanguage)
{
    var bCheck = false;
    var sValue = document.getElementsByName(Fields)[0].value;
    
    if (!isNaN(new Number(sValue)))
    {
        if (sValue >= 0 && sValue <60)
        {
            bCheck = true;    
        }     
    }

    if (bCheck == false)
	{
		blCheck = false; 
		if (strMessage == "")
		{
			strFields = Fields;
		}
		switch(strLanguage)
		{
		    case "zh-tw":
		         strMessage +=  FieldsName + "输入时间分钟格式不正确﹗";
		         break;
		    case "zh-cn":
		        strMessage +=  FieldsName + "输入时间分钟格式不正确﹗";
		        break; 
		     case "en-us":
		        strMessage +=  FieldsName + "TimeMinute format incorrect ﹗";
		        break; 
		}
	}    
}

// 验证数字(?,?)?位整数?位小数
function CheckNumeric2(Fields,FieldsName,length,strLanguage)
{
    var strValue = document.getElementsByName(Fields)[0].value;
    var aryLength = length.split(".");
    
    if (/\./.exec(strValue) != null)			// 检查是否含有小数点.
	{
		var aryDbl = strValue.split(".");		// 有小数点时,将其分割开分别判断.
		if (aryDbl.length > 2)					// 如果有多个小数点时提示错误.
		{
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
//		    switch(strLanguage)
//	        {
//	            case "zh-tw":
//	                 strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗!";
//	                 break;
//	            case "zh-cn":
//	                strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
//	                break; 
//	             case "en-us":
//	                strMessage +=  FieldsName + "：Number format incorrect, please input correct format﹗!";
//	                break; 
//	        }	
	        strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
		}
		else
		{
		    var intInt = aryDbl[0];             // 记录整数部分
		    var intDec = aryDbl[1];             // 记录小数部分
		        		
		    if (!(/^\d+$/.test(intInt)))	    // 整数部份需为数字
		    {
		        blCheck = false;
		        if (strMessage == "")
	            {
		            strFields = Fields;
	            }
	            
		        strMessage +=  FieldsName + "整数字数字格式不正确,请输入正确的数字格式﹗"       	    
		    }
		    else if (intInt.length > aryLength[0])
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		
		        strMessage += FieldsName + "整数字长度不可大于" + aryLength[0] + "﹗";                
		    }
		    else if (!(/^\d+$/.test(intDec)))	//小数部份需为数字
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
			    strMessage += FieldsName + "小数字数字格式不正确,请输入正确的数字格式﹗ ";			    
		    }
		    else if(intDec.length > aryLength[1])	
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
		        strMessage += FieldsName + "小数字长度不可大于" + aryLength[1] + "﹗";
		    }
		}
		
	}
	else										
	{
		if (!(/^\d+$/.test(strValue)))
		{
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
		    
			strMessage += FieldsName + "请输入数字﹗";
		}
		else if ((strValue.length > aryLength[0]))
		{ 
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
		    
		    strMessage += FieldsName + "整数字长度不可大于" + aryLength[0] + "﹗";
		}
	}
}

// 验证数字(?,?)?位整数?位小数
function CheckNumeric3(Fields,FieldsName,length,strLanguage)
{
    var strValue = document.getElementsByName(Fields)[0].value;
    var aryLength = length.split(".");
    
    if (/\./.exec(strValue) != null)			// 检查是否含有小数点.
	{
		var aryDbl = strValue.split(".");		// 有小数点时,将其分割开分别判断.
		if (aryDbl.length > 2)					// 如果有多个小数点时提示错误.
		{
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
		    switch(strLanguage)
	        {
	            case "zh-tw":
	                 strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗!";
	                 break;
	            case "zh-cn":
	                strMessage +=  FieldsName + "数字格式不正确,请输入正确的数字格式﹗";
	                break; 
	             case "en-us":
	                strMessage +=  FieldsName + "：Number format incorrect, please input correct format﹗!";
	                break; 
	        }	
		}
		else
		{
		    var intInt = aryDbl[0];             // 记录整数部分
		    var intDec = aryDbl[1];             // 记录小数部分
		        		
		    if (!(/^[+_\-]?[1-9][0-9]+$/.test(intInt)))	    // 整数部份需为数字
		    {
		        blCheck = false;
		        if (strMessage == "")
	            {
		            strFields = Fields;
	            }
	            
		        strMessage +=  FieldsName + "整数字数字格式不正确,请输入正确的数字格式﹗"       	    
		    }
		    else if (intInt.length > aryLength[0])
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		
		        strMessage += FieldsName + "整数字长度不可大于" + aryLength[0] + "﹗";                
		    }
		    else if (!(/^[+_\-]?[1-9][0-9]+$/.test(intDec)))	//小数部份需为数字
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
			    strMessage += FieldsName + "小数字数字格式不正确,请输入正确的数字格式﹗ ";			    
		    }
		    else if(intDec.length > aryLength[1])	
		    {
		        blCheck = false;
		        if (strMessage == "")
		        {
			        strFields = Fields;
		        }
		        
		        strMessage += FieldsName + "小数字长度不可大于" + aryLength[1] + "﹗";
		    }
		}
		
	}
	else										
	{
		if (!(/^[+_\-]?[1-9][0-9]+$|^[+_\-]?[0-9]$/.test(strValue)))
		{
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
		    
			strMessage += FieldsName + "请输入数字﹗";
		}
		else if ((strValue.length > aryLength[0]))
		{ 
		    blCheck = false;
		    if (strMessage == "")
		    {
			    strFields = Fields;
		    }
		    
		    strMessage += FieldsName + "整数字长度不可大于" + aryLength[0] + "﹗";
		}
	}
}


// 验证百分比(?,?)?位整数?位小数
function CheckRate2(Fields,FieldsName,length,strLanguage)
{
    CheckNumeric2(Fields,FieldsName,length,strLanguage);  
    
    if(blCheck && strMessage == "")
    {
        CheckRate(Fields,FieldsName,strLanguage); 
    }
}

// 验证时间
function CheckTime(Fields,FieldsName,strLanguage)
{
    var strValue = document.getElementsByName(Fields)[0].value;
    var aryValue = strValue.split(":");
    
    if (aryValue.length > 1)
    {
        if (!isNaN(aryValue[0]) && !isNaN(aryValue[1]))
        {
            if(aryValue[0]> 24 || aryValue[0] < 0 || aryValue[1] > 60 || aryValue[1] < 0)
            {
                blCheck = false;
                if (strMessage == "")
		        {
		            strFields = Fields;
		        }
        		
		        strMessage += FieldsName + "时间格式不正确,请输入正确的时间格式﹗";      
            }   
        }
        else
        {
            blCheck = false;
            if (strMessage == "")
		    {
		        strFields = Fields;
		    }
    		
		    strMessage += FieldsName + "时间格式不正确,请输入正确的时间格式﹗";
        }    
    }
    else
    {
        blCheck = false; 
        if (strMessage == "")
		{
		    strFields = Fields;
		}
		
		strMessage += FieldsName + "时间格式不正确,请输入正确的时间格式﹗";   
    }  
}

// 验证三字段民国年
function CheckMinDate(Fields,FieldsName)
{
    var strValue = document.getElementsByName(Fields)[0].value;
    var sRegularExp = /^[0-9]{1,3}\/[0-9]{1,2}\/[0-9]{1,2}$/;
    
    if(!sRegularExp.test(strValue))
    {
        blCheck = false;
        strMessage += FieldsName + "时间格式不正确,请输入正确的时间格式﹗";   
    }
    
    return blCheck;
}

// 民国年日期起讫比对
// 参数1: 日期1起;日期1讫.日期2起;日期2讫..........日期3起;日期3讫
// 参数2: 标题1起;标题1讫.标题2起;标题2讫..........标题3起;标题3讫
// Add By Vitati At 2010/04/22
function CompareDate(AllDateClientID, AllDateTitle)
{
	var aryClientID = AllDateClientID.split(".");	        // 日期对隔开
	var aryTitle = AllDateTitle.split(".");	        // 标题对隔开

	for(var i = 0; i < aryClientID.length; i++)
	{
		var aryPerson = aryClientID[i].split(";");	// 比较的日期
		var aryOneTitle = aryTitle[i].split(";");	// 比较的标题
		
		var a = document.getElementsByName(aryPerson[0])[0];   // 起
		var b = document.getElementsByName(aryPerson[1])[0];   // 讫
		
		var start = a.value;
		var end = b.value;
		
		if(start!="" && end!="")
		{
		    if (parseFloat(start.replace(/(\-)(\d{1})(\-)/g,"$1" + '0' + "$2$3").replace(/(\-)(\d{1})$/g,"$1" + '0' + "$2").replace(/\-/g,'')) 
	            > parseFloat(end.replace(/(\-)(\d{1})(\-)/g,"$1" + '0' + "$2$3").replace(/(\-)(\d{1})$/g,"$1" + '0' + "$2").replace(/\-/g,'')))
	        {	       
	            alert(aryOneTitle[0] + "不能大于" + aryOneTitle[1]); 	          
                return false;
	        }
	        return true;
		}
		else
		{
		    return true;
		}		
	}
}

//==========================================================
//  判断身份证格式是否正确
//  英文字母不区分大小写
//==========================================================
function CheckIdentificationCard(Fields,FieldsName)
{
    var psValue = document.getElementsByName(Fields)[0].value;
    var c, n, i;
    var d;
    var t = "ABCDEFGHJKLMNPQRSTUVXYWZIO";

    c = psValue.substring(0, 1);
    d = psValue.substr(1, 1);
    c = t.indexOf(c);

    var cc;
    cc = t.indexOf(d);

    var len = psValue.length;
    var p = psValue.substr(len - 1, 1);
    var pp = psValue.substr(len - 2, 1);
    p = t.indexOf(p);
    pp = t.indexOf(pp);

    if (psValue.length != 10) 
    {
        //身分证不满10码，请重新输入!
        blCheck = false;
        strMessage += FieldsName + "身分证格式不正确,请输入正确的身分证﹗";
        return blCheck;
    }
    else 
    {
        if (p >= 0 && pp >= 0) 
        {
            return true;
        }

        if (c < 0) 
        {
            //身分证第一码必需输入英文，请重新输入!
            blCheck = false;
            strMessage += FieldsName + "身分证格式不正确,请输入正确的身分证﹗";
            return blCheck;
        }
        else 
        {
            if (cc >= 0) 
            {
                return true;
            }
            if (d != '1' && d != '2') 
            {
                //身分证第二码必需输入1或2，请重新输入!
                blCheck = false;
                strMessage += FieldsName + "身分证格式不正确,请输入正确的身分证﹗";
                return blCheck;
            }
            else 
            {
                n = parseInt(c / 10) + c % 10 * 9 + 1;

                for (i = 1; i < 9; i++) n = n + parseInt(psValue.substring(i, i + 1)) * (9 - i);

                n = (10 - (n % 10)) % 10;

                if (n != parseInt(psValue.substring(9, 10))) 
                {
                    blCheck = false;
                    strMessage += FieldsName + "身分证格式不正确,请输入正确的身分证﹗";
                    return blCheck;
                }
                else 
                {
                    return true;
                }
            }
        }
    }
}


//==========================================================
//  判断身份证格式是否正确
//  英文字母不区分大小写
//==========================================================
function CNCheckIdentificationCard(Fields,FieldsName)
{
    var psValue = document.getElementsByName(Fields)[0].value;

    if (psValue.length != 15 && psValue.length != 18) 
    {
        //身分证不满10码，请重新输入!
        blCheck = false;
        strMessage += FieldsName + "身分证格式不正确,请输入正确的身分证﹗";
        return blCheck;
    }
    else 
    {
        if(psValue.replace(/\d+/g, "").length != 0) 
        {
            blCheck = false;
            strMessage += FieldsName + "身分证格式不正确,请输入正确的身分证﹗";
            return blCheck;
        }
        else 
        {
            return true;
        }        
    }
}

function Vstring(fields,FieldsName)
{
    var name = document.getElementsByName(fields);
    var nameValue = name[0].value;
    
    if(nameValue.length > 0)
    {	
        var ss = VStr.split("|");        
        
        for (var i = 0; i < ss.length; i++)
        {
            if (nameValue.indexOf(ss[i]) != -1)
            {
                strMessage += FieldsName + ": 内容非法﹗";
                blCheck = false;
            }
        }
    }  
}

