///////////////////////////////////////////////////////////////// // 通用js方法库相关。 // //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// // global vars defination ////////////////////鼠标及键盘事件控制//////////////////////////// function OverKey(){ if((event.keyCode>=112&&event.keyCode<=133)) { event.keyCode=0; event.returnValue = false; } if ( event.keyCode==116) //屏蔽 F5 刷新键 { event.keyCode = 0; event.cancelBubble = true; return false; } if ((event.ctrlKey)&&(event.keyCode==78)){ //屏蔽 Ctrl+n event.returnValue=false; } //add by huxipi if ((event.ctrlKey)&&(event.keyCode==80)){ //屏蔽 Ctrl+P event.keyCode=0; event.returnValue=false; } if ((event.ctrlKey)&&(event.keyCode==65)){ //屏蔽 Ctrl+A event.returnValue=false; } /* if ((event.ctrlKey)&&(event.keyCode==67)){ //屏蔽 Ctrl+C event.returnValue=false; } if ((event.ctrlKey)&&(event.keyCode==86)){ //屏蔽 Ctrl+V event.returnValue=false; } */ if(event.keyCode==8){//屏蔽backspace var actObjType=""; try{actObjType=document.activeElement.type.toLowerCase();}catch(e){} if(actObjType!="text" && actObjType!="textarea" && actObjType!="password" && actObjType!="file" && actObjType!="application/x-vnd-sa-isecurity-fjhxb") { event.keyCode=0; event.returnValue=false; } } //add by huxipi end 20120516 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; 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 revertMoney2(inStr) { 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 false; 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:450px; dialogHeight:400px; dialogLeft:"+showx+"px; dialogTop:"+showy+"px; status:no; directories:yes;scrollbars:no;Resizable=no;location=no; " ); return retval; } //获取radiogroup 的值 function getRadioValue(name) { var elements = window.document.getElementsByName(name); var value=null; for(var i=0;i=0;i--){ Num = Num.replace(",","");//替换tomoney()中的“,” Num = Num.replace(" ","");//替换tomoney()中的空格 } //Num = Num.replace("¥","")//替换掉可能出现的¥字符 if(isNaN(Num)) { //验证输入的字符是否为数字 alert("请检查小写金额是否正确"); return; } //---字符处理完毕,开始转换,转换采用前后两部分分别转换---// part = String(Num).split("."); newchar = ""; //小数点前进行转化 for(i=part[0].length-1;i>=0;i--){ if(part[0].length > 13){ alert("金额超过限制,请重新输入"); return ""; }//若数量超过仟亿单位,提示 tmpnewchar = ""; perchar = part[0].charAt(i); switch(perchar){ case "0": tmpnewchar="零" + tmpnewchar ;break; case "1": tmpnewchar="壹" + tmpnewchar ;break; case "2": tmpnewchar="贰" + tmpnewchar ;break; case "3": tmpnewchar="叁" + tmpnewchar ;break; case "4": tmpnewchar="肆" + tmpnewchar ;break; case "5": tmpnewchar="伍" + tmpnewchar ;break; case "6": tmpnewchar="陆" + tmpnewchar ;break; case "7": tmpnewchar="柒" + tmpnewchar ;break; case "8": tmpnewchar="捌" + tmpnewchar ;break; case "9": tmpnewchar="玖" + tmpnewchar ;break; } switch(part[0].length-i-1){ case 0: tmpnewchar = tmpnewchar +"元" ;break; case 1: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break; case 2: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break; case 3: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break; case 4: tmpnewchar= tmpnewchar +"万" ;break; case 5: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break; case 6: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break; case 7: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break; case 8: tmpnewchar= tmpnewchar +"亿" ;break; case 9: tmpnewchar= tmpnewchar +"拾" ;break; case 10: tmpnewchar= tmpnewchar +"佰" ;break; case 11: tmpnewchar= tmpnewchar +"仟" ;break; case 12: tmpnewchar= tmpnewchar +"万" ;break; } newchar = tmpnewchar + newchar; } //小数点之后进行转化 // if(Num.indexOf(".")!=-1){ if(part[1].length > 2) { alert("小数点之后只能保留两位,系统将自动截段"); part[1] = part[1].substr(0,2); } for(i=0;i57) { event.returnValue=false; } if(event.keyCode==46) { event.returnValue=true; } } function SearchRcvBankInfo(){ document.getElementById("ShowRcvPayeeBankInfo1").innerHTML=""; var SearchCondition=document.getElementsByName("RcvSearchCondition")[0].value; if(SearchCondition==""){ alert("请输入查询条件!"); return false; } /* var a=SearchCondition.split(" "); var b=" "; var c=""; for(var i=0;i13){ alert("输入金额过长"); return; } if (objValue!=''){ var v1 = standStringAmount(objValue); //标准金额格式 var v2 = Arabia_to_ChineseV1(v1); //金额大写格式 } else { v1 = ''; v2 = ''; } if (standardSpanId!=null) {//是否显示标准金额 PEGetElement(standardSpanId).innerHTML=v1; } //显示大写金额 PEGetElement(chineseSpanId).innerHTML=v2; if (hiddenField!=null) {//隐藏域-大写金额 PEGetElement(hiddenField).value=v2; } } /** * 将小写金额转换为大写 */ function Arabia_to_ChineseV1(Num){ for(i=Num.length-1;i>=0;i--){ Num = Num.replace(",","");//替换tomoney()中的“,” Num = Num.replace(" ","");//替换tomoney()中的空格 } //Num = Num.replace("¥","")//替换掉可能出现的¥字符 if(isNaN(Num)) { //验证输入的字符是否为数字 alert("请检查小写金额是否正确"); return; } //---字符处理完毕,开始转换,转换采用前后两部分分别转换---// part = String(Num).split("."); newchar = ""; //小数点前进行转化 for(i=part[0].length-1;i>=0;i--){ if(part[0].length > 13){ alert("金额超过限制,请重新输入"); return ""; }//若数量超过仟亿单位,提示 tmpnewchar = ""; perchar = part[0].charAt(i); switch(perchar){ case "0": tmpnewchar="零" + tmpnewchar ;break; case "1": tmpnewchar="壹" + tmpnewchar ;break; case "2": tmpnewchar="贰" + tmpnewchar ;break; case "3": tmpnewchar="叁" + tmpnewchar ;break; case "4": tmpnewchar="肆" + tmpnewchar ;break; case "5": tmpnewchar="伍" + tmpnewchar ;break; case "6": tmpnewchar="陆" + tmpnewchar ;break; case "7": tmpnewchar="柒" + tmpnewchar ;break; case "8": tmpnewchar="捌" + tmpnewchar ;break; case "9": tmpnewchar="玖" + tmpnewchar ;break; } switch(part[0].length-i-1){ case 0: tmpnewchar = tmpnewchar +"元" ;break; case 1: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break; case 2: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break; case 3: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break; case 4: tmpnewchar= tmpnewchar +"万" ;break; case 5: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break; case 6: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break; case 7: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break; case 8: tmpnewchar= tmpnewchar +"亿" ;break; case 9: tmpnewchar= tmpnewchar +"拾" ;break; case 10: tmpnewchar= tmpnewchar +"佰" ;break; case 11: tmpnewchar= tmpnewchar +"仟" ;break; case 12: tmpnewchar= tmpnewchar +"万" ;break; } newchar = tmpnewchar + newchar; } //小数点之后进行转化 // if(Num.indexOf(".")!=-1){ if(part[1].length > 2) { alert("小数点之后只能保留两位,系统将自动截段"); part[1] = part[1].substr(0,2); } for(i=0;i size){ //汉字是否换行 var html2 = splitChineseStr(chineseAmount, size2) document.getElementById(id).innerHTML= amount + '
' + html2; }else{ document.getElementById(id).innerHTML = payerBalanceHtml; } }catch(e){ alert("大写金额转换失败:"+e.description); if(flag){ //汉字 var chineseAmount = "(" + Arabia_to_Chinese(amount) + ")"; document.getElementById(id).innerHTML = chineseAmount; }else{ //报错只赋值数字金额 document.getElementById(id).innerHTML = amount; } } } /** * 根据长度拆分成换行的字符 * @param chineseAmount 源字符 * @param size2 拆分的长度 */ function splitChineseStr(chineseAmount, size2){ if(chineseAmount.length <= size2){ return chineseAmount; } var html2 = ''; var length = chineseAmount.length%size2==0?(chineseAmount.length/size2) : ((chineseAmount.length/size2) + 1) ; length = parseInt(length); for(var i=0; i=0){ dotString = amountNumber.substring(dotIndex); } if (amountNumber <= amountMax && dotString.length <= decimalLen +1){ //最大值在有效范围内时 keyupOldValue = obj.value; //记录输入原值 } } } /** * 输入域最大值限制比较(用在keyup事件中) * @param obj 需要限制的控件 * @param decimalLen 允许输入的小数位数长度 * 返回参数据:true表示校验通过,false表示校验失败并还原原值 */ function numberLimitCheck(obj, decimalLen){ if (!decimalLen){ //未定义时默认2位小数 decimalLen = 2; } var amount = obj.value; if (!amount){ //没有输入值时不校验 return null; } var amountNumber = amount.replace(/,/g,""); if( parseFloat(amountNumber) > amountMax){ //输入的值超最大值限制时还原旧值 obj.value = keyupOldValue; return false; } var dotIndex = amountNumber.indexOf("."); if (dotIndex>=0){ //存在小数点时 var dotString = amountNumber.substring(dotIndex); if (dotString.length > decimalLen +1){ //小数位超出时还原原值(加上1位表示小数点) obj.value = keyupOldValue; } } return true; }