﻿
//=================================================================
//==使用 Regexp ，验证输入的内容是否合法
//==用在 onblur 事件
//=================================================================
function RegularExpressionInputValidate(InputControl,RegularExpression,Message)
{
	//----------------------------------------
	//--输入控件的值做 trim() 处理
	//----------------------------------------
	var InputControlValue=Trim(InputControl.value);

	//----------------------------------------
	//--如果验证通过，则什么也不做，
	//--否则，当前输入部件重新聚焦，在 StatusBar 上显示错误消息
	//----------------------------------------
	if ((InputControlValue!="") && (InputControlValue.match(RegularExpression)==null))
	{
		//------------------------------
		//--在输入错误的时候，底色变黄
		//------------------------------
		InputControl.style.backgroundColor="#ffffcc";
		
		//----------------------------------------
		//--在 StatusBar 显示错误消息
		//----------------------------------------
		window.status=Message;
	}
	else
	{
		//------------------------------
		//--在输入错误的时候，底色变黄
		//------------------------------
		InputControl.style.backgroundColor="#ffffff";
		
		//----------------------------------------
		//--在 StatusBar 显示错误消息
		//----------------------------------------
		window.status="";
	}
}



//=================================================================
//==保证只输入数字（包括小数字键盘部分的数字）,如果输入"Return键 13,108" 则模拟 Tab键（9）
//==用在 keydown 事件
//==为了兼容 Firefox，我们使用 e 传递调用现场的 event 对象
//=================================================================
function CharactorNumberInputValidate(e,NumberOnly)
{
	//----------------------------------------
	//--键值
	//--如果按下了 Control 键，说明可能要进行 Copy/Paste ，则不受键值的限制，就是说，按下了 Ctrl 键后，按任何键都被接受
	//----------------------------------------
	var KeyCode;
	var CtrlKey;
	
	if (window.event)
	{	
		//------------------
		//-- IE / Opera
		//------------------
		KeyCode=window.event.keyCode;	
		CtrlKey=window.event.ctrlKey;
	}
	else
	{
		//------------------
		//-- Firefox
		//------------------
		KeyCode=e.which;	
		CtrlKey=e.ctrlKey;
	}
	
	//----------------------------------------
	//--如果只准输入数字，则排除非数字字符
	//--将所有回车键转换成 TAB 键
	//----------------------------------------
	if (((KeyCode>57 && KeyCode<96 ) || (KeyCode<48 && KeyCode!=13 && KeyCode!=8 && KeyCode!=37 && KeyCode!=35 && KeyCode!=36 && KeyCode!=39 && KeyCode!=46) || (KeyCode>105 && KeyCode!=108 && KeyCode!=110 && KeyCode!=190)) && (CtrlKey==false))
	{
		//----------------------------------------
		//--如果只准输入数字，则排除非数字字符
		//----------------------------------------
		if (NumberOnly==true)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		//----------------------------------------
		//--将所有回车键转换成 TAB 键
		//----------------------------------------
		if (KeyCode==13 || KeyCode==108)
		{
			if (window.event)
			{
				//------------------
				//-- IE / Opera
				//------------------
				window.event.keyCode=9;
			}
			/*
			else
			{
				//------------------
				//-- Firefox
				//------------------
				e.which=9;
			}
			*/
		}
	}	
} 

//=================================================================
//==电子邮件地址合法性检查
//=================================================================
function EmailAddressValidate(EmailAddressInputControl,EmailAddressDescription) 
{   
	//-------------------------------------------------------
	//--下面的 RegExp 吻合合法的邮件地址，并且，可以是“；”隔开的多个地址
	//-------------------------------------------------------
	var re = /^([\w\-\.]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,4};?)+$/;
	var OK = re.test(EmailAddressInputControl.value);   

	if (OK==false)      
	{
		window.alert(EmailAddressDescription + " Is not a validate email address.");
		EmailAddressInputControl.style.backgroundColor="#ffffcc"; 
		EmailAddressInputControl.focus();
		return false;
	}
	else      
	{
		return true;
	}
}  

//=================================================================
//==文件夹名字合法性检查
//=================================================================
function FolderNameValidate(FolderNameInputControl,FolderNameDescription) 
{   
	//-------------------------------------------------------
	//--下面的 RegExp 是否吻合
	//-------------------------------------------------------
	var re = /^[^\/:*?"<>|]+$/;
	var OK = re.test(FolderNameInputControl.value);   

	if (OK==false)      
	{
		window.alert(FolderNameDescription + " Is not a validate folder name.");
		FolderNameInputControl.style.backgroundColor="#ffffcc"; 
		FolderNameInputControl.focus();
		return false;
	}
	else      
	{
		return true;
	}
}  

//=================================================================
//==文件名字合法性检查
//=================================================================
function FileNameValidate(FileNameInputControl,FileNameDescription) 
{   
	//-------------------------------------------------------
	//--下面的 RegExp 是否吻合
	//-------------------------------------------------------
	var re = /^[^\/:*?"<>|]+$/;
	var OK = re.test(FileNameInputControl.value);   

	if (OK==false)      
	{
		window.alert(FileNameDescription + " Is not a validate file name.");
		FileNameInputControl.style.backgroundColor="#ffffcc"; 
		FileNameInputControl.focus();
		return false;
	}
	else      
	{
		return true;
	}
}  

//=================================================================
//==在发布表单时，保证需要输入的控件不为空
//=================================================================
function EmpotyInputValidate(InputControl,strAlert)
{
	//------------------------------
	//--如果要验证的部件根本不存在，则返回 true
	//------------------------------
	if (InputControl==null)
	{
		return true;
	}
	else
	{
		//------------------------------
		//--对于需要检验非空的输入部件，如果输入为空，则，底色变黄
		//------------------------------
		if (Trim(InputControl.value)=="")
		{
			window.alert("Input Incomplete, \n\n" + strAlert + " Can not be empoty.");
			InputControl.style.backgroundColor="#ffffcc";
			InputControl.focus();
			return false;
		}
		else
		{
			return true;
		}
	}
}
  

     
     



