📄 checkform.js
字号:
var JoinBox = GetHiddenElement("MAKE_ACTION_TABLE","JoinBox",k);
var CallFun = GetHiddenElement("MAKE_ACTION_TABLE","CallFunAfterSelected",k);
RegisterTable(Name,HeaderOffset, FooterOffset, OddColor, EventColor, MoveColor, ClickColor,MoveClickColor)
var ob = document.all(Name);
if (ob.length)
{
for (var i = 0; i < ob.length; i++)
{
ob[i].SetMultSelect(MultSelect=='yes' ? true:false);
ob[i].SetJoinBoxCell(JoinBox);
ob[i].SetSynchroCells(Synchro);
ob[i].SetFunAfterSelected(CallFun);
ob[i].InitializeTable();
}
}
else
{
ob.SetMultSelect(MultSelect=='yes' ? true:false);
ob.SetJoinBoxCell(JoinBox);
ob.SetSynchroCells(Synchro);
ob.SetFunAfterSelected(CallFun);
ob.InitializeTable();
}
}
return false;
}
catch(e)
{
return false;
}
}
function GetRegExp(Code)
{
var reValue;
if(Code=="刑期")
{
reValue="/(\\d{2})(\\d{2})/,,,Insert,,,;年;月";
}
return reValue.split(",,,");
}
function CheckRegExp(FormObject)
{
var ATCount=0;
if(!document.all("REQUIRE_REGEXP")) return;
if(document.all("REQUIRE_REGEXP").length)
{
ATCount = document.all("REQUIRE_REGEXP").length;
}
else
{
ATCount = 1;
}
for(var k=0; k<ATCount; k++)
{
if (GetHiddenElement("REQUIRE_REGEXP","Name",k) =="") continue;
var Name = GetHiddenElement("REQUIRE_REGEXP","Name",k);
var Type = GetHiddenElement("REQUIRE_REGEXP","Type",k);
var RegExp = GetHiddenElement("REQUIRE_REGEXP","RegExp",k);
var Value = GetHiddenElement("REQUIRE_REGEXP","Value",k);
var Code = GetHiddenElement("REQUIRE_REGEXP","Code",k);
if(Name != FormObject.name) continue;
if(Code!="")
{
TempParameter = GetRegExp(Code);
RunRegExp(FormObject,TempParameter[0],TempParameter[1],TempParameter[2]);
}
else
{
RunRegExp(FormObject,RegExp,Type,Value)
}
}
}
function RunRegExp(FormObject,RegExp,Type,Value)
{
try
{ //RunRegExp(document.all("t3"),/(\d{2})(\d{2})/,"Insert",",年,月")
var returnValue="";
var Pat = eval(RegExp); //正则表达式
var matchArray = FormObject.value.match(Pat); // is the format ok?
var ValueArray = Value.split(";");
if (matchArray == null) {
return false;
}
if(Type=="Insert")
{
for(var i=1;i<matchArray.length;i++)
{
returnValue += matchArray[i]+ValueArray[i];
}
}
if(Type=="Replace")
{
for(var i=1;i<matchArray.length;i++)
{
returnValue += ValueArray[i]==""?matchArray[i]:ValueArray[i];
}
}
FormObject.value = returnValue;
}
catch(e){if(__DEBUG) alert("正则表达式运算失败!"+RegExp)}
}
function RePlaceCode(Msg,RpMsg,NewMsg)
{
while(Msg.indexOf(RpMsg)!=-1)
{
Msg = Msg.replace(RpMsg,NewMsg);
}
return Msg;
}
function CheckEval(FormObject)
{
try
{
if(document.getElementById("EVAL_BY_CONDITION")==null) return "";
var Object = document.all("EVAL_BY_CONDITION");
var Length = 1;
if(Object.length)
{
Length = Object.length;
}
for(var i=0; i<Length; i++)
{
var ObjectName = Length==1 ? Object.value : Object[i].value;
while (ObjectName!="")
{
var MsgSite = 0;
MsgSite = ObjectName.indexOf(",");
if (MsgSite == -1)
{
CSitef = ObjectName.indexOf("{");
CSitel = ObjectName.indexOf("}");
evalMsg = ObjectName.substring(0,CSitef);
Condition = ObjectName.substring(CSitef+1,CSitel);
if(CheckCondition(FormObject,Condition))
{
evalMsg = RePlaceCode(evalMsg,"0x44",",");
evalMsg = RePlaceCode(evalMsg,"$FormObject",FormObject.type=='radio'?FormObject.id:FormObject.name);
eval(evalMsg);
}
ObjectName = "";
}
else
{
tempName = ObjectName.substring(0,MsgSite);
ObjectName = ObjectName.substring(MsgSite + 1,ObjectName.length);
CSitef = tempName.indexOf("{");
CSitel = tempName.indexOf("}");
evalMsg = tempName.substring(0,CSitef);
Condition = tempName.substring(CSitef+1,CSitel);
if(CheckCondition(FormObject,Condition))
{
evalMsg = RePlaceCode(evalMsg,"0x44",",");
evalMsg = RePlaceCode(evalMsg,"$FormObject",FormObject.type=='checkbox'?FormObject.id:FormObject.name);
eval(evalMsg);
}
}
}
}
return "";
}
catch (e)
{
if(__DEBUG)
{
alert("CheckEval() make a mistake:"+e.description);
}
return "";
}
}
function CheckCondition(FormObject,Condition)
{
var returnvalue = false;
if(FormObject.type=='radio')
{
if(FormObject.id == "") {
if(__DEBUG) alert("该单选按钮未指定ID号");
return false;
}
if(Condition.indexOf(FormObject.id)==-1) return false;
}
else
{
if(Condition.indexOf(FormObject.name)==-1) return false;
}
while (Condition!="")
{
temp = "";
var MsgSite = 0;
MsgSite = Condition.indexOf(";");
if (MsgSite == -1)
{
var site = 0;
site = Condition.indexOf(":");
if (site == -1)
{
try
{
if(!eval(Condition)) return false;
}
catch(e)
{
if(__DEBUG) alert("CheckCondition()条件设置错误");
return false;
}
}
else
{
Property = Condition.substring(0,site);
Value = Condition.substring(site + 1,Condition.length);
//-------------
while(Value!="")
{
vSite = Value.indexOf("&");
if(vSite != -1)
{
Value = Value.substring(vSite + 1,Value.length);
tempName = Value.substring(0,vSite);
}
else
{
tempName = Value;
Value = "";
}
if(Property=="NO_EMPTY")
{
if (document.all(tempName).value=="")
{
return false;
}
}
if(Property=="ON_CLICK")
{
if(FormObject.type != 'radio')
{
if (FormObject.name!=tempName)
{
return false;
}
}
else
{
if (FormObject.id!=tempName)
{
return false;
}
}
}
}
}
Condition = "";
}
else
{
tempCondition = Condition.substring(0,MsgSite);
Condition = Condition.substring(MsgSite + 1,Condition.length);
var site = 0;
site = tempCondition.indexOf(":");
if (site == -1)
{
try
{
if(!eval(tempCondition)) return false;
}
catch(e)
{
if(__DEBUG) alert("CheckCondition()条件设置错误");
return false;
}
}
else
{
Property = tempCondition.substring(0,site);
Value = tempCondition.substring(site + 1,tempCondition.length);
//-------------
while(Value!="")
{
vSite = Value.indexOf("&");
if(vSite == -1)
{
if(Property=="NO_EMPTY")
{
if (document.all(Value).value=="")
{
return false;
}
}
if(Property=="ON_CLICK")
{
if(FormObject.type != 'radio')
{
if (FormObject.name!=Value)
{
return false;
}
}
else
{
if (FormObject.id!=Value)
{
return false;
}
}
}
Value = "";
}
else
{
tempName = Value.substring(0,vSite);
if(Property=="NO_EMPTY")
{
if (document.all(tempName).value=="")
{
return false;
}
}
if(Property=="ON_CLICK")
{
if(FormObject.type != 'radio')
{
if (FormObject.name!=tempName)
{
return false;
}
}
else
{
if (FormObject.id!=tempName)
{
return false;
}
}
}
}
Value = Value.substring(vSite + 1,Value.length);
}
}
}
}
return true;
}
function SelectNextOperateObject()
{
var s = window.showModalDialog("nextdesktop.htm","","help:0;resizable:1;dialogWidth:840px;dialogHeight:560px;status:no");
if(s)
window.open("performModule.jsp?ModuleName=选择操作对象&rybh=" + s, "menutop");
}
function ClearValue(){
var i=0;
var a=document.forms(CHECK_CURRENT_FORM.name).length;
for ( i=0;i<a;i++){
if( document.forms(CHECK_CURRENT_FORM.name).elements[i].type=="text"||document.forms(CHECK_CURRENT_FORM.name).elements[i].type=="textarea")
document.forms(CHECK_CURRENT_FORM.name).elements[i].value="";
}
}
function CF_JustifyZheng(field1){
if (GetHiddenElement("REQUIRE_PERSONID",field1.name) =="") return true;
var ret=false;
var str1,str2,str3;
if (field1.value.length==15)
{
var str1=field1.value.substring(6,8);
var str1="19" + str1;
var str2=field1.value.substring(8,10);
var month=Number(str2);
if(month>12||month<1) {
alert("出生月份不能大于12或小于1,这是因为身份证号码输入有误!");
return ret;
}
var str3=field1.value.substring(10,12);
var day=Number(str3);
if(day>31||day<1){
alert("出生日期不能大于31或小于1,这是因为身份证号码输入有误!");
return ret;
}
if(CF_JustifyBirth(str1,str2,str3)){}
else{
return false;
}
}
else if(field1.value.length==18){
var str1 = field1.value.substring(0,17);
if(!CF_IsInteger(field1,str1)){ //*****注意函数应用
alert("身份证号码前17位应为正数!");
return ret;
}
else{
var str1=field1.value.substring(6,10);
var str2=field1.value.substring(10,12);
var month=Number(str2);
if(month>12||month<1) {
alert("出生月份不能大于12或小于1,这是因为身份证号码输入有误!");
return(ret);
}
var str3=field1.value.substring(12,14);
day=Number(str3);
if(day>31||day<1){
alert("出生日期不能大于31或小于1,这是因为身份证号码输入有误!");
return(ret);
}
if(CF_JustifyBirth(str1,str2,str3)){}
else{
return false;
}
}
}
else if(field1.value=="" || field1.value=="无")
{
return true;
}
else{
alert("身份证号码长度应为15位或18位!");
return ret;
}
if( field1.value.substr(field1.value.length - 1,1).toUpperCase() != "X" && isNaN(field1.value.substr(field1.value.length - 1,1)))
{
alert("身份证尾数必须为正数或X!")
return false;
}
return true;
}
function CF_IsInteger(field,iValue){
var Ret = true;
var NumStr="0123456789";
var chr;
for (i=0;i<iValue.length;++i){
chr=iValue.charAt(i);
if (NumStr.indexOf(chr,0)==-1)
Ret = false
}
return(Ret);
}
function CF_JustifyBirth(field1,field2,field3){ //判断日期是否有错误
var Ret = true
var leap=0
var str1 = Number(field1.value)
var str2 = Number(field2.value)
var str3 = Number(field3.value)
if((str1%4==0&&str1%100!=0)||(str1%400==0))
{
leap=1
}
if(leap==0&&str2=="02"&&Number(str3)>28)
{
Ret = false
Msg(0,field1,"身份证输入错误:本年是平年,二月份只有二十八天!")
}
if(leap==1&&str2=="02"&&Number(str3)>29)
{
Ret = false
Msg(0,field1,"身份证输入错误:本年是闰年,二月份只有二十九天!")
}
if((str2=="04"||str2=="06"||str2=="09"||str2=="11")&&str3=="31")
{
Ret = false
Msg(0,field1,"身份证输入错误:本月只有三十天!")
}
return(Ret)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -