⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 check-js.js

📁 一个完整的办公资源管理系统
💻 JS
📖 第 1 页 / 共 2 页
字号:
/********************************
Last Modify: 2004-12-15
author: wlb
version: 3.0
*********************************/
function check_2Date(fir,sec,val)
{
	//alert("enter!");
	var errMess = "";
	var CheckElement=fir;
	//alert("fir.value"+fir.value);
	//alert("sec.value"+sec.value);
	if(fir.value!="")
	{
		if(val)
		{
			errMess = checkDateMinute(fir);
		}
		else
		{
			errMess = checkDate(fir);
		}
		onchangeCheckNull(fir);
	}	
	if(errMess=="")
	{
		if(sec.value!="")
		{
			if(val)
			{
				errMess = checkDateMinute(sec);
			}
			else
			{
				errMess = checkDate(sec);
			}
			onchangeCheckNull(sec);
		}		
	}
	//alert(errMess);
	var eleErrMsg = CheckElement.parentNode.lastChild;
	if(eleErrMsg && eleErrMsg.name == "ErrMsg" )
	{
		if(errMess != "" )
		{
			errMess = "<img src='../images/error_m.gif' valign='top'/> " + errMess;			
		}
		eleErrMsg.innerHTML = "<br/>" + errMess;
	}
	if(errMess=="")
	{
		if(eleErrMsg.previousSibling&&eleErrMsg.previousSibling.name == "ErrMsg")
		{
			//alert("确实有2个");
			eleErrMsg.previousSibling.innerHTML = "<br/>";
		}
	}
}
//function checkValidate(CheckElement,)
function checkValidate(CheckElement,manual)
{
	
	//alert(CheckElement);
	if(!CheckElement.dataType)
	{
		return;
	}

	var errMess = "";
	//alert("enter!");
	sIfNull			=	CheckElement.dataType.substring(0,2);
	sOther			=	CheckElement.dataType.substring(2,CheckElement.dataType.length);
	var CheckdataType;
	if(sIfNull=="非空")
	{
		CheckdataType		=	sOther;
	}
	else
	{
		CheckdataType		=	CheckElement.dataType;
	}
	//alert(CheckdataType);
	if(CheckElement.value!="")
	{
		if(CheckdataType	==	"")
		{
			return;
		}
		
		switch(CheckdataType)
		{
			case '字符串': errMess = checkString(CheckElement);break;
			case '邮政编码': errMess = checkPost(CheckElement);break;
			case '长字符串': errMess = checkLongString(CheckElement);break;
			case '数字': errMess = checkNumber(CheckElement);break;
			case '百分比': errMess = checkPercent(CheckElement);break;
			case '整数': errMess = checkInt(CheckElement);break;
			//add by wlb 03/08/27
			case '正整数': errMess = checkPlusInt(CheckElement);break;
			case '日期': errMess = checkDate(CheckElement);break;
			case '年月日期': errMess = checkYearMonth(CheckElement);break;
			case '时刻': errMess = checkDateTime(CheckElement);break;
			//add by wlb 04/04/21
			case '日期时分': errMess = checkDateMinute(CheckElement);break;
			case '时分': errMess = checkMinute(CheckElement);break;
			case 'IP地址': errMess = checkIP(CheckElement);break;
			case 'Email': errMess = checkEmail(CheckElement);break;
			case '电话': errMess = checkPhone(CheckElement);break;
			case '手机': errMess = checkMobilephone(CheckElement);break;
			case '日期时间': errMess = checkTime(CheckElement);break;
			case '货币':errMess = checkCurrency(CheckElement);break;
			case '工期': errMess = checkPlusTime(CheckElement);break;
			default:alert('暂时不能识别:'+CheckElement.dataType+'的数据类型');
		}
	}
	//alert(errMess);
	if(manual)
	{
		
	}	
	else
	{
		onchangeCheckNull(CheckElement);
	}	
	

	var eleErrMsg = CheckElement.parentNode.lastChild;
	if(eleErrMsg && eleErrMsg.name == "ErrMsg" )
	{
		if(errMess != "" )
		{
			errMess = "<img src='../images/error_m.gif' valign='top'/> " + errMess;			
		}
		eleErrMsg.innerHTML = "<br/>" + errMess;
	}
	//alert(eleErrMsg.innerHTML);
	return true;
			
}

function onchangeCheckNull(CheckElement)
{
	var tdEle = CheckElement.parentNode.previousSibling;
	//alert(tdEle.id);
	var starEle = tdEle.firstChild;
	//alert(starEle.name);
	if(starEle && starEle.name == "star")
	{
		
		//if(CheckElement.value == "" && CheckElement.dataType.substring(0,2)=="非空")
		if(CheckElement.dataType.substring(0,2)=="非空")
		{
			if(CheckElement.autoShowStar&&(CheckElement.autoShowStar=="false"))
			{
				starEle.innerHTML = "";
			}
			else
			{
				starEle.innerHTML = "*";
			}
			
		}
		else
		{
			starEle.innerHTML = "";
		}
	}
}

function autoCheckNull()
{
	//alert("ent");
	var eles		=	document.forms[0].elements;
	//alert(eles);
	for(i=0;i<eles.length;i++)
	{
		//alert(eles[i].dataType);
		if(eles[i].dataType)
		{
			tdEle = eles[i].parentNode.previousSibling;
			//alert(tdEle.id);
			if(eles[i].autoShowStar&&(eles[i].autoShowStar=="false"))
			{
				
			}
			else
			{
				tdEle.insertAdjacentHTML("afterBegin","<span name='star'  id=hehep class='data_text_star'></span>");
				onchangeCheckNull(eles[i]);
			}
			
			

			//eles[i].onchange = onchangeCheckValid;
			eles[i].parentNode.insertAdjacentHTML("beforeEnd", "<span name='ErrMsg'></span>");
		}
	}
}
function autoCheckThis(ele)
{
	if(ele.dataType)
	{
		tdEle = ele.parentNode.previousSibling;
		tdEle.insertAdjacentHTML("afterBegin","<span name='star'  id=hehep class='data_text_star'></span>");
		onchangeCheckNull(ele);
		ele.parentNode.insertAdjacentHTML("beforeEnd", "<span name='ErrMsg'></span>");
	}
}

function alertRightDate()
{
	bCheckLock	=	false;
	return("日期格式为:2000-12-31");
}
function checkDate(ele)
{
	var ev	=	ele.value;
	if (ev == "")
		return "";
	var evyear;
	var evmonth;
	var evdate;
	var iindex;
	if(ev.length<8)
	{
		return alertRightDate();
		//ele.value="";
	}
	iindex		=	ev.indexOf("-")
	if(iindex==-1)
	{
		return alertRightDate();
		//ele.value="";
	}
	evyear		=	ev.substring(0,iindex);
	if (evyear.length != 4)
	{
		return alertRightDate();
	}
	ev			=	ev.substring(iindex+1,ev.length);
	iindex		=	ev.indexOf("-")
	if(iindex==-1)
	{
		return alertRightDate();
		//ele.value="";
	}
	evmonth		=	ev.substring(0,iindex);
	if (evmonth.length >2)
	{
		return alertRightDate();
	}
	evdate		=	ev.substring(iindex+1,ev.length);
	if (evdate.length >2)
	{
		return alertRightDate();
	}
	var ndate	=	evmonth+"/"+evdate+"/"+evyear;
	var tdate	=	Date.parse(ndate);
	var ddate	=	new Date(tdate);
	if(isNaN(tdate))
	{
		return alertRightDate();
		//ele.value="";
	}
	if(	(evyear!=ddate.getFullYear()	)||(evmonth!=(ddate.getMonth()+1)	)||(evdate!=ddate.getDate())	)
	{
		return alertRightDate();
		//ele.value="";
	}
	return "";
}

function checkYearMonth(ele)
{
	var ev		=	ele.value;
	if (ev == "")
		return "";	
	var evyear;
	var evmonth;
	var iindex;
	if(ev.length<6)
	{
		return alertRightYearMonthDate();
		//ele.value="";
	}
	iindex		=	ev.indexOf("-")
	if(iindex==-1)
	{
		return alertRightYearMonthDate();
		//ele.value="";
	}
	evyear		=	ev.substring(0,iindex);
	if (evyear.length != 4)
	{
		return alertRightYearMonthDate();
	}
	ev			=	ev.substring(iindex+1,ev.length);
	evmonth		=	ev;
	if (evmonth.length >2)
	{
		return alertRightYearMonthDate();
	}

	var ndate	=	evmonth+"/"+"01"+"/"+evyear;
	var tdate	=	Date.parse(ndate);
	var ddate	=	new Date(tdate);
	if(isNaN(tdate))
	{
		return alertRightYearMonthDate();
		//ele.value="";
	}
	if(	(evyear!=ddate.getFullYear()	)||(evmonth!=(ddate.getMonth()+1)))
	{
		return alertRightYearMonthDate();
		//ele.value="";
	}
	return "";
}

function alertRightYearMonthDate()
{
	bCheckLock = false;
	return "格式:2003-6";
}

function alertDateTime()
{
	bCheckLock = false;
	return "格式:2003-6-1 12:00:00";
}
function alertDateMinute()
{
	bCheckLock = false;
	return "格式:2003-6-1 12:00";
}
function alertTime()
{
	bCheckLock = false;
	return "格式:12:00:00";
}
/* 检查DateTime类型是否满足"yyyy-mm-dd MM-mm-ss"形式. */
function checkDateTime(ele)
{
	var str = ele.value;
	if (str == "")
		return "";	
	if (str.length < 14) {
		return alertDateTime();
	}
	var iSpc = str.indexOf(" ");
	if (iSpc == -1) {
		return alertDateTime();
	}
	
	var ev = str.substring(0, iSpc);
	var et = str.substring(iSpc + 1, str.length);
	var idx;
	var evyear, evmonth, evdate;
	var hour, minute, second;
	
	idx = ev.indexOf("-");
	if (idx == -1) {
		return alertDateTime();
	}
	
	evyear = ev.substring(0, idx);
	if (evyear.length != 4)
	{
		return alertDateTime();
	}
	ev = ev.substring(idx + 1, ev.length);
	idx = ev.indexOf("-");
	if (idx == -1) {
		return alertDateTime();
	}
	
	evmonth		=	ev.substring(0,idx);
	if (evmonth.length >2)
	{
		return alertDateTime();
	}
	evdate		=	ev.substring(idx+1,ev.length);
	if (evdate.length >2)
	{
		return alertDateTime();
	}
	var ndate	=	evmonth + "/" + evdate + "/" + evyear;
	var tdate	=	Date.parse(ndate);
	var ddate	=	new Date(tdate);
	if(isNaN(tdate)) {
		return alertDateTime();
	}
	
	if ((evyear != ddate.getFullYear()) || (evmonth != (ddate.getMonth() + 1)) || (evdate != ddate.getDate())) {
		return alertDateTime();
	}
	
	idx = et.indexOf(":");
	if (idx == -1) {
		return alertDateTime();
	}
	
	hour = et.substring(0, idx);
	et = et.substring(idx + 1, et.length);
	var hr = new Number(hour);
	if (isNaN(hr)) {
		return alertDateTime();
	} else {
		if (hr < 0 || hr > 24) {
			return alertDateTime();
		}
	}
	
	idx = et.indexOf(":");
	if (idx == -1) {
		return alertDateTime();
	}

	minute = et.substring(0, idx);
	second = et.substring(idx + 1, et.length);

	mint = new Number(minute);
	sec = new Number(second);
	if (isNaN(mint) || isNaN(sec)) {
		return alertDateTime();
	} else {
		if (mint < 0 || mint > 59 || sec < 0 || sec > 59) {
			return alertDateTime();
		}
	}
	
	return "";
}
function checkTime(ele)
{
	var str = ele.value;
	if (str == "")
		return "";		
	if (str.length < 5) {
		return alertTime();
	}
	if (str.length > 8) {
		return alertTime();
	}
	var idx = str.indexOf(":");
	if (idx == -1) {
		return alertTime();
	}
	
	var hour = str.substring(0, idx);
	if(hour=="")
	{
		return alertTime();
	}	
	var et = str.substring(idx + 1, str.length);
	var hr = new Number(hour);
	if (isNaN(hr)) 
	{
		
		return alertTime();
	} 
	else 
	{
		
		if (hr < 0 || hr > 23) 
		{
			
			return alertTime();
		}
	}
	idx = et.indexOf(":");
	if (idx == -1) {
		return alertTime();
	}

	var minute = et.substring(0, idx);
	if(minute=="")
	{
			return alertTime();
	}	
	var second = et.substring(idx + 1, et.length);
	if(second=="")
	{
			return alertTime();
	}	
	var mint = new Number(minute);
	var sec = new Number(second);
	if (isNaN(mint) || isNaN(sec)) {
		return alertTime();
	} else {
		if (mint < 0 || mint > 59 || sec < 0 || sec > 59) {
			return alertTime();
		}
	}
	
	return "";
}
function checkNumber(ele)
{
	if (ele.value == "")
		return "";	
	var elevalue	=	new Number(ele.value);
	if(isNaN(elevalue))
	{
		bCheckLock	=	false;
		return("只能输入数字"); 
	}
	ele.value=elevalue;
	if(ele.maxValue)
	{
		return(checkmaxValue(ele));
	}
	if(ele.minValue)
	{
		return(checkminValue(ele));
	}
	return "";
}
function checkCurrency(ele)
{
	//alert("start");
	if (ele.value == "")
		return "";		
	var elevalue	=	new Number(ele.value);
	if(isNaN(elevalue))
	{
		bCheckLock	=	false;
		return("只能输入数字"); 
	}
	if(elevalue<0)
	{
		bCheckLock	=	false;
		return("不能输入负数"); 
	}		
	//ele.value=elevalue;
	var tempnum=elevalue;
	//alert(tempnum);
	if(ele.value.indexOf(".")>=0)
	{
		var su=ele.value.indexOf(".");
		var s=ele.value.substring(su+1);
		//alert(s);
		
		if(s.length>2)
		{
			var res="只能输入两位小数";
			return(res); 
		}
		else if (s.length == 1)
		{
			//alert("就是一个点");
			ele.value=ele.value+"0";
		}
		else if(s.length==0)
		{
			ele.value=ele.value+"00";
		}
		/*
		else
		{
			//alert("点都够了!");
			tempnum=Math.round(tempnum*100)/100;
			ele.value=tempnum;
		}*/
	}	
	else
	{
		ele.value=tempnum+".00";
	}
	
	if(ele.maxValue)
	{
		var res = checkmaxValue(ele);
		if(res != "")
		{
			return res;
		}
	}
	
	if(ele.minValue)
	{
		var res = checkminValue(ele);
		if(res != "")
		{
			return res;
		}
	}
	
	return "";
	
}	
function checkmaxValue(sElement)
{
	var sMaxNumber		=	new Number(sElement.maxValue);
	var sCurrentNumber	=	new Number(sElement.value);
	if(sCurrentNumber>sMaxNumber)
	{
		bCheckLock	=	false;
		return "最大值:" + sElement.maxValue;
	}
	
	if(sElement.minValue)
	{
		var sMinNumber	=	new Number(sElement.minValue);
		if(sCurrentNumber < sMinNumber)
		{
			bCheckLock	=	false;
			return "最小值:" +  sElement.minValue;
		}	
	}	
	return "";
}

function checkminValue(sElement)
{
	var sCurrentNumber	=	new Number(sElement.value);
	var sMinNumber	=	new Number(sElement.minValue);
	if(sCurrentNumber < sMinNumber)
	{
			bCheckLock	=	false;
			return "最小值:" +  sElement.minValue;
	}	
	return "";
}

function checkInt(ele)
{
	if (ele.value == "")
		return "";	
	var elevalue	=	new Number(ele.value);
	if(isNaN(elevalue))
	{
		return "只能输入整数";
	}
	if(ele.value.indexOf(".")!=-1)
	{
		return "只能输入整数";
	}
	ele.value=elevalue;
	if(ele.maxValue)
	{
		return(checkmaxValue(ele));
	}
	if(ele.minValue)
	{
		return(checkminValue(ele));
	}
	return "";
}

//add by wlb 03/08/27 只能输入正整数
function checkPlusInt(ele)
{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -