///////////////////////////////////////////////////////////////// // 通用js方法库相关。 // //////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// //加载CFCA签名控件 //////////////////////////////////////////////////////////////// var CryptoAgent = ""; // Create ActiveX object according to the platform function OnLoad() { try { var eDiv = document.createElement("div"); if (navigator.appName.indexOf("Internet") >= 0 || navigator.appVersion.indexOf("Trident") >= 0) { if (window.navigator.cpuClass == "x86" || window.navigator.cpuClass == "win32") { eDiv.innerHTML = ""; } else { eDiv.innerHTML = ""; } } else { eDiv.innerHTML = ""; } document.body.appendChild(eDiv); } catch (e) { throwValidationAtEEE("证书组件加载失败:","EEE"); // alert("证书组件加载失败:"+e); return false; } CryptoAgent = document.getElementById("CryptoAgent"); return true; } //选择证书 function SelectCertificate(subjectDN, issuerDN, certSN) { //设置证书csp var cspList = "ETO-KEY CSP For LZCCB V1.0||LZCCB ET P-KEY CSP V1.0||ETO-KEY CSP For LZCCBGM V1.0"; try { var bSelectCertResult = ""; bSelectCertResult = CryptoAgent.SelectCertificate(subjectDN, issuerDN, certSN,cspList); // Opera浏览器,NPAPI函数执行结果为false时,不能触发异常,需要自己判断返回值。 if (!bSelectCertResult) { var errorDesc = CryptoAgent.GetLastErrorDesc(); console.log(errorDesc); throwValidationAtEEE("请插入USB-KEY!如已插入请检查驱动!","EEE"); return false; } } catch (e) { console.log(errorDesc); throwValidationAtEEE("请插入USB-KEY!如已插入请检查驱动!","EEE"); return false; } return true; } // 签名 function Sign( data2sign) { try { var signature = ""; var signType = "";//签名类型:PKCS#7带原文签名 PKCS#7不带原文签名 PKCS#1签名 var selectedAlg = "SHA-1";//哈希算法(仅对RSA算法有效,SM2默认使用SM3哈希算法): SHA-1 SHA-256 document.forms[0].CSIISignature.value = ""; signType = "Attach"; if ("Attach" == signType) { // PKCS#7 Attach 带原文签名 signature = CryptoAgent.SignMsgPKCS7(data2sign, selectedAlg, true); } else if ("Detach" == signType) { // PKCS#7 Detach 不带原文签名 signature = CryptoAgent.SignMsgPKCS7(data2sign, selectedAlg, false); } else { // PKCS#1 signature = CryptoAgent.SignMsgPKCS1(data2sign, selectedAlg); } if (!signature) { var errorDesc = CryptoAgent.GetLastErrorDesc(); console.log("签名失败:"+errorDesc); return false; } document.forms[0].CSIISignature.value = signature; return true; } catch (e) { console("签名异常:"+e); return false; } } //签名控件初始化过滤csp //function SetSM2CSPList(alg){//(新版本签名控件不用该方法) // var bResult; // if(alg=='1'){ // bResult = CryptoAgent.SetSM2CSPList("ETO-KEY CSP For LZCCB V1.0||LZCCB ET P-KEY CSP V1.0"); // }else if(alg=='0'){ // bResult = CryptoAgent.SetSM2CSPList("ETO-KEY CSP For LZCCBGM V1.0"); // }else{ // return false; // } // return bResult; //} //////////////////////////////////////////////////////////////// // global vars defination ////////////////////鼠标及键盘事件控制//////////////////////////// function OverKey(){ if((event.keyCode>=112&&event.keyCode<=133)) { event.keyCode=0; event.returnValue = false; } if ((event.keyCode==116)|| //屏蔽 F5 刷新键 (event.ctrlKey && event.keyCode==82)){ //Ctrl + R event.keyCode=0; event.returnValue=false; } if ((event.ctrlKey)&&(event.keyCode==78)){ //屏蔽 Ctrl+n event.returnValue=false; } if ((event.shiftKey)&&(event.keyCode==121)){ //屏蔽 shift+F10 event.returnValue=false; } if ((window.event.altKey)&& ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ← (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 → event.returnValue=false; } if((event.ctrlKey)&&((window.event.keyCode==37)||(window.event.keyCode==39))){ event.keyCode=0; event.returnValue=false; } if (event.keyCode==13) { event.returnValue=true; } } document.onkeydown=OverKey; /* * 阻止网页上的右键操作 * */ function Click(){ window.event.returnValue=false; } document.oncontextmenu=Click;//阻止网页右键的脚本 /////////////////////////////////////////////////////////////// // 将金额数字转换为标准的格式 function standMoney(inObject){ // 首先检查字符串的所有字符是否均为数字、小数点或逗号分隔符形式 var inStr = inObject.value; outStr=formatMoney(inStr); inObject.value = outStr; getBigStringAmount(); return; } function formatMoney(moneyValue){ // 首先检查字符串的所有字符是否均为数字、小数点或逗号分隔符形式 var inStr = moneyValue var i,charValue,outStr; for(i=0;i2) { return moneyValue } // 处理小数部分 var dotStr,dotValue; if(valueArr.length==2) { dotValue = valueArr[1]; if(dotValue.length==0) { dotStr = "00"; } else { if(dotValue.length==1) dotStr = dotValue + "0"; else dotStr = dotValue.substring(0,2); } } else { dotStr = "00"; } // 处理整数部分 var intArr; intArr = valueArr[0].split(","); // 无论整数部分是否已经用逗号分隔开,都将其合并成一个整体 var intValue; intValue = ""; for(i=0;i3) { intStr=","+intValue.substring(intValue.length-3,intValue.length) + intStr; intValue = intValue.substring(0,intValue.length-3); } intStr = intValue + intStr; //最后将处理后的整数部分与小数部分合并,作为输出 if( intStr == "" || intStr == null ) { intStr = "0" } outStr = intStr + "." + dotStr; /* if( outStr == 0.0 ) { alert("金额不得输入为零!") inObject.focus() inObject.select() return } */ return outStr; } // 恢复成数字串的格式,删掉分节符 function revertMoney(inObject,flag) { var inStr = inObject.value var outStr=""; var ch; for(i=0;i11){ alert("非法金额") return ZDX } var lnP = outStr.length for(i=lnP-1;i>=0;i--) { out = outStr.substring(lnP-i-1,lnP-i) var chout = i if (chout!="2"){ ZDX=ZDX+Str[out]+Cha[chout] } } return ZDX; } function standStringAmount(inStr) { // 首先检查字符串的所有字符是否均为数字、小数点或逗号分隔符形式 if(inStr.length == 0) return var i,charValue,outStr; for(i=0;i2) { // alert(inStr+" 非法金额!") return false; } // 处理小数部分 var dotStr,dotValue; if(valueArr.length==2) { dotValue = valueArr[1]; if(dotValue.length==0) { dotStr = "00"; } else { if(dotValue.length==1) dotStr = dotValue + "0"; else dotStr = dotValue.substring(0,2); } } else { dotStr = "00"; } // 处理整数部分 var intArr; intArr = valueArr[0].split(","); // 无论整数部分是否已经用逗号分隔开,都将其合并成一个整体 var intValue; intValue = ""; for(i=0;i3) { intStr=","+intValue.substring(intValue.length-3,intValue.length) + intStr; intValue = intValue.substring(0,intValue.length-3); } intStr = intValue + intStr; //最后将处理后的整数部分与小数部分合并,作为输出 if( intStr == "" || intStr == null ) { intStr = "0" } outStr = intStr + "." + dotStr; return outStr; } function popUpDlg(url) { showx = event.screenX - event.offsetX - 4 - 100 ; // + deltaX; showy = event.screenY - event.offsetY + 18; // + deltaY; if(url==null) return; retval = window.showModalDialog(url,window, "dialogWidth:300px; dialogHeight:480px; dialogLeft:"+showx+"px; dialogTop:"+showy+"px; status:no; directories:yes;scrollbars:no;Resizable=no;location=no; " ); return retval; } //页面校验信息显示在EEE位置 function throwValidationAtEEE(valiInfo,place) { //window.document.getElementsByName(place).innerHTML=valiInfo; PEGetElement(place).innerHTML = valiInfo; } function restoreMoney(inStr) { var outStr=""; var ch; for(i=0;i=0;k--){ if(str1.charAt(k)=="0"){ if(t!=0){ ss+="零"; } } if(str1.charAt(k)=="1"){ ss+="壹"; } if(str1.charAt(k)=="2"){ ss+="贰"; } if(str1.charAt(k)=="3"){ ss+="叁"; } if(str1.charAt(k)=="4"){ ss+="肆"; } if(str1.charAt(k)=="5"){ ss+="伍"; } if(str1.charAt(k)=="6"){ ss+="陆"; } if(str1.charAt(k)=="7"){ ss+="柒"; } if(str1.charAt(k)=="8"){ ss+="捌"; } if(str1.charAt(k)=="9"){ ss+="玖"; } if(t==1){ ss+="元";} if(t==2){ ss+="拾";} if(t==3){ ss+="佰";} if(t==4){ ss+="仟";} if(t==5){ ss+="万";} if(t==6){ ss+="拾";} if(t==7){ ss+="佰";} if(t==8){ ss+="仟";} if(t==9){ ss+="亿";} if(t==10){ ss+="拾";} if(t==11){ ss+="佰";} if(t==12){ ss+="仟";} if(t==13){ ss+="万";} ss+=",";t++; } var jm=ss.split(","); var re=""; var mu=""; var u=jm.length-1; for(u;u>=0;u--){ re+=jm[u]; } var f=0; var mm=i+1; for(mm;mm 57) { return false; } } return true; } //只能输入数字dash的检查 function isNumberOrDash(str) { if(str == "") { return true; } var len = str.length; for(var i=0; i < len; i++) { var code = str.charAt(i).charCodeAt(0); if(code < 48 || code > 57) { if(code!=45) return false; } } return true; } /////firefox分页适配处理 function pageTagFix(){ if(!PEGetElement("currentIndex")){ return; } var c = PEGetElement("currentIndex").value; if(0==c){ var scripts = document.getElementsByTagName("script"); var i=0; var tc = null; for(;i57) { event.returnValue=false; } if(event.keyCode==44) { event.returnValue=true; } if(event.keyCode==46) { event.returnValue=true; } }