﻿// JavaScript Document
/*
函数总览
$$checkExp		正则表达式函数
$isEmpty		验证是否空值
$isEmail		验证EMail地址
$isUser			验证用户名,(4-12位的字母、数字与下划线)
$isPassword		验证密码( 6到16位的字母、数字、下划线 )
$isUrl			验证网址
$isDomain		验证域名
$isIP			验证IP地址
$isEnglish		验证是否英文字母与数字(不含空格)
$isEnString		验证是否英文或数字字符串（含空格）
$isNumeric		验证数字
$isInt			验证大于0的整数
$isDateTime		验证日期 yyyy-mm-dd hh:mm:ss
$isPhone		验证电话号码 区号-电话号码
$isChecked		检查radio的值是否选择
$isCheckBox		检查checkbox是否被选择
$focus			焦点吸附			
$isNull			检查对象是否存在
$lenLimitCn		限制中文字符长度
$lenLimitEn		限制英文与数字长度
$lenLimit		限制中英字符长度
*/

//为String对象添加trim
String.prototype.trim = function(){
    return this.replace(/(^\s*)|(\s*$)/g,"");
}

//正则表达式函数
function $$checkExp(expression,checkStr){
	if(expression==""||expression==null){
		alert("function checkExp error!");
		return;
	}
	var expObj=new RegExp(expression);
	if(expObj.test(checkStr)==true){
		return true;
	}else{
		return false;
	}
}

//验证是否空值
function $isEmpty(formname, idname){
	var checkStr, formobj, inputobj
	
	formobj = eval("document." + formname);
	if($isNull(formobj)) return true;
	inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return true;
	
	checkStr=inputobj.value;
	checkStr=checkStr.trim();
	if(checkStr=="") return true;
	return false;
}

//验证EMail地址
function $isEmail(formname, idname){
	var checkStr, expression, formobj, inputobj
	expression=/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
	
	formobj = eval("document." + formname);
	if($isNull(formobj)) return false;
	inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return false;
	
	checkStr=inputobj.value;
	checkStr=checkStr.trim();
	if($$checkExp(expression,checkStr)){
		return true;
	}else{
		return false;
	}
}

//验证用户名,(4-12位的字母、数字与下划线)
function $isUser(formname, idname){
	var checkStr, expression, formobj, inputobj
	expression=/^(\w){4,12}$/;
	
	formobj = eval("document." + formname);
	if($isNull(formobj)) return false;
	inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return false;
	
	checkStr=inputobj.value;
	checkStr=checkStr.trim();
	if($$checkExp(expression,checkStr)){
		return true;
	}else{
		return false;
	}
}

//验证密码( 6到16位的字母、数字、下划线 )
function $isPassword(formname, idname){
	var checkStr, expression, formobj, inputobj
	expression=/^(\w){6,16}$/;
	
	formobj = eval("document." + formname);
	if($isNull(formobj)) return false;
	inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return false;
	
	checkStr=inputobj.value;
	checkStr=checkStr.trim();
	if($$checkExp(expression,checkStr)){
		return true;
	}else{
		return false;
	}
}

//验证网址
function $isUrl(formname, idname){
	var checkStr, expression, formobj, inputobj
	expression=/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/;
	
	formobj = eval("document." + formname);
	if($isNull(formobj)) return false;
	inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return false;
	
	checkStr=inputobj.value;
	checkStr=checkStr.trim();
	if($$checkExp(expression,checkStr)){
		return true;
	}else{
		return false;
	}
}

//验证数字
function $isNumeric(formname, idname){
	var checkStr, expression, formobj, inputobj
	expression=/^(-)?(\d)+(\.\d+)?$/;
	
	formobj = eval("document." + formname);
	if($isNull(formobj)) return false;
	inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return false;
	
	checkStr=inputobj.value;
	checkStr=checkStr.trim();
	if($$checkExp(expression,checkStr)){
		return true;
	}else{
		return false;
	}
}

//检查radio的值是否选择
function $isChecked(formname, idname){
	var formobj, inputobj
	
	formobj = eval("document." + formname);
	if($isNull(formobj)) return false;
	inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return false;
	
	for(var i=0; i<inputobj.length; i++){
		if(inputobj[i].checked) return true;
	}
	return false;
}

//检查checkbox是否被选择
function $isCheckBox(formname, idname){
	var formobj, inputobj
	
	formobj = eval("document." + formname);
	if($isNull(formobj)) return false;
	inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return false;
	
	if(inputobj.checked){
		return true;
	}else{
		return false;
	}
}

//焦点吸附
function $focus(formname, idname){
	var formobj = eval("document." + formname);
	if($isNull(formobj)) return;
	var inputobj = formobj.elements[idname];
	if($isNull(inputobj)) return;
	inputobj.focus();
}

//检查对象是否存在
function $isNull(obj){
	if(obj==null) return true;
	return false;
}