﻿/**
 * 弹出错误信息,并把焦点移动到指定控件
 *
 * @param obj     指定控件
 * @param message 错误信息
 */
function alert_message(obj, message)
{
	alert(message);
	obj.focus();		
}

/**
 * 把错误信息显示在指定的控件上
 *
 * @param obj     指定控件
 * @param message 错误信息
 */
function show_message(obj, message)
{
	obj.innerHTML = "<font color=\"#FF0000\">" + message + "<\/font>";	
}
	
/**
 * 验证控件文本的长度
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param number  文本的长度
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_length(obj, obj1, message, number, type)
{
	if(trim(obj.value).length < number)
	{	
		message_temp = message + "必须是" + number + "位以上！";
		if(trim(obj.value).length == 0)
		{
			message_temp = "请输入" + message + "!";
		}
		
		switch (type)
		{		
		    case "alert":
				alert_message(obj, message_temp);
				break;
		    case "show":
				show_message(obj1, message_temp);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本的长度
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param number  文本的长度
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_length1(obj, obj1, message, number, type)
{
	if(trim(obj.value).length > number)
	{	
		message_temp = message + "不能超过" + number + "个字符！";
		
		switch (type)
		{		
		    case "alert":
				alert_message(obj, message_temp);
				break;
		    case "show":
				show_message(obj1, message_temp);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为数字
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_number(obj, obj1, message, type)
{
	exp1 = /^[0-9]*$/;
	str  = trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = message + "必须是数字！";
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为数字
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_number1(obj, obj1, message, type)
{
	exp1 = /^[0-9,.]*$/;
	str  = trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = message + "必须是数字！";
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为中文
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param message 错误信息
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_chinese(obj, obj1, message, type)
{
	exp1 = /^[\u4e00-\u9fa5]*$/;
	str  = trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = message + "必须是中文！";

		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的邮箱格式
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_email(obj, obj1, type)
{
	exp1 = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
	str  = trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = "邮箱格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default:
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的电话号码0755-12345678
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_tel(obj, obj1, type)
{
	exp1 = /^(0([1-9][0-9]{1,2}-))?([2-9][0-9]{6,7})$/;
	str  = trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = "电话号码格式不对！";	
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的电话号码0755-12345678-1234
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_tel1(obj, obj1, type)
{
	exp1 = /^(0([1-9][0-9]{1,2}-))?([2-9][0-9]{6,7})$/;
	str  = trim(obj.value);
	str  = str.match(exp1);
	
	exp2 = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
	str2  = trim(obj.value);
	str2  = str2.match(exp2);
	if(str == null && str2 == null)
	{
		message = "电话号码格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的传真号码
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_fax(obj, obj1, type)
{
	exp1 = /^(0([1-9][0-9]{1,2}-))?([2-9][0-9]{6,7})$/;
	str  = trim(obj.value);
	str  = str.match(exp1);
	if(str == null)
	{
		message = "传真号码格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的手机号码
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_mobile(obj, obj1, type)
{
	exp1 =  /^13[0-9]\d{8}$/;
	exp2 =  /^159\d{8}$/;
	exp3 =  /^158\d{8}$/;
	
	str  = trim(obj.value);
	str  = str.match(exp1);
	str1  = trim(obj.value);
	str1  = str1.match(exp2);
	str2  = trim(obj.value);
	str2  = str2.match(exp3);
	if(str == null && str1 == null&& str2 == null)
	{
		message = "手机号码格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "　";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为正确的手机号码或电话号码
 *
 * @param obj     要验证的控件
 * @param obj1    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_mobile_tel(obj, obj1, type)
{
	exp1 =  /^(0([1-9][0-9]{1,2}-))?([2-9][0-9]{6,7})$/;
	exp2 =  /^13[0-9]\d{8}$/;
	exp3 =  /^159\d{8}$/;
	
	str  = trim(obj.value);
	str  = str.match(exp1);
	str1  = trim(obj.value);
	str1  = str1.match(exp2);
	str2  = trim(obj.value);
	str2  = str2.match(exp3);
	if(str == null && str1 == null && str2 == null)
	{
		message = "号码格式不对！";
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "　";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证两次密码输入是否一致
 *
 * @param obj     密码控件
 * @param obj1    确认密码控件
 * @param obj2    显示错误信息的控件
 * @param type    用什么方法输出错误信息
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_double_password(obj, obj1, obj2, type)
{
	if(obj.value != obj1.value)
	{
		message = "两次密码输入不一致！";
		
		switch (type)
		{		
		    case "alert":		
				alert_message(obj1, message);
				break;
		    case "show":
				show_message(obj2, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj2.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为字母和数字的组合
 *
 * @param obj 要验证的控件
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_type_password(obj,put)
{
	str  = trim(obj.value);
	exp1 = /^[0-9]*$/;
	str  = str.match(exp1);
	if(str != null)
	{
		if(put)
		{
			alert_message(obj, '密码必修是字母和数字的组合！');
		}
		return false;
	}
	str2=trim(obj.value);
	exp2=/^[A-Za-z]*$/;
	str2=str2.match(exp2);
	if(str2!=null)
	{
		if(put)
		{
			get_message(obj,'密码必修是字母和数字的组合！');
		}
		return false;
	}
	str3=trim(obj.value);
	exp3=/^[A-Za-z0-9]*$/;
	str3=str3.match(exp3);
	if(str3==null)
	{
		if(put)
		{
			get_message(obj,'密码必修是字母和数字的组合！');
		}
		return false;
	}
	return true;
}

/**
 * 去掉字符串左边的空格
 *
 * @param str 要操作的字符串
 * @return 操作后的字符串  
 */
function lTrim(str)
{
	if (str.charAt(0) == " ")
	{
		str = str.slice(1);
		str = lTrim(str);
	}
	return str;
}

/**
 * 去掉字符串右边的空格
 *
 * @param str 要操作的字符串
 * @return 操作后的字符串  
 */
function rTrim(str)
{
	var iLength;
		
	iLength = str.length;
	if (str.charAt(iLength - 1) == " ")
	{
		str = str.slice(0, iLength - 1);
		str = rTrim(str);
	}
	return str;
}

/**
 * 去掉字符串两边的空格
 *
 * @param str 要操作的字符串
 * @return 操作后的字符串  
 */
function trim(str)
{
	return lTrim(rTrim(str));
}

/**
 * 验证字符串是否为正确的域名格式
 *
 * @param str 要验证的字符串
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_weburl(obj, obj1, type)
{
	message = "请输入正确的网站域名！";
	var pattern = /^(http:\/\/)+([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
	flag = pattern.test(obj.value);
	if(!flag)
	{
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	else
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	return true;
}

/**
 * 验证控件文本是否为指定的文件格式
 *
 * @param obj       要验证的控件
 * @param file_type 指定的文件格式
 * @return true  验证通过
 * @return false 验证没通过  
 */
function check_gs(obj, obj1, file_type, type)
{
	message = "上传文件格式不正确！";
	var isCheck = false;
	file_types=file_type.split(',');
	filename=obj.value;
	ext=filename.substring(filename.lastIndexOf(".")+1).toUpperCase();
	for(i=0;i<file_types.length;i++)
	{
		if(ext==file_types[i])
		{
			isCheck = true;
		}
	}
	if(isCheck)
	{
		switch (type)
		{		
		    case "show":
				obj1.innerHTML = "";
				break;
		    default: 
				break;
		}
	}
	else
	{
		switch (type)
		{		
		    case "alert":		
				alert_message(obj, message);
				break;
		    case "show":
				show_message(obj1, message);
				break;
		    default: 
				break;
		}
		return false;
	}
	return true;
}

/**
 * 只能输入中文
 *
 */
function chineseOnly()
{
	if(event.keyCode < 0x4e00 || event.keyCode > 0x9fa5)
	{
		event.keyCode = 0;
	}
}
