📄 check-js.js
字号:
/********************************
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 + -