function Rmb2DaXie(s) { clearNoNum(s); //此处可预防如果控件是普通的文本框时,录入非数字的符号自动去除 var rmb = s.value; var dx = AmountLtoU(rmb); if (dx == '无效') { alert('无效的数字格式!'); return false; } if(!dxctrl){ var ctrls = document.getElementsByTagName("input"); var idx; var ctrlid = 'TB_' + DaXie_Ctrl_ID; for (var i = 0; i < ctrls.length; i++) { idx = ctrls[i].id.indexOf(ctrlid); if (idx != -1 && (idx + ctrlid.length) == ctrls[i].id.length) { dxctrl = ctrls[i]; break; } } } if (!dxctrl) { alert('未找到id为TB_' + DaXie_Ctrl_ID + '的文本框!请联系管理员修改流程节点对应的JS文件DataUser/JSLibData/ND' + getArgsFromHref('FK_Node') + '.js中的DaXie_Ctrl_ID变量为保存大写金额的文本字段名称!'); return false; } dxctrl.value = dx; return true } var DaXie_Ctrl_ID = 'DaXie'; var dxctrl; function AmountLtoU(num) { ///小写金额转化大写金额 ///金额 if (isNaN(num)) return "无效"; var strPrefix = ""; if (num < 0) strPrefix = "(负)"; num = Math.abs(num); if (num > 999000000000000) return "超额(不大于999万亿)"; //不超过999万亿 var strOutput = ""; var strUnit = '佰拾万仟佰拾亿仟佰拾万仟佰拾圆角分'; var strCapDgt = '零壹贰叁肆伍陆柒捌玖'; num += "00"; var intPos = num.indexOf('.'); if (intPos >= 0) { num = num.substring(0, intPos) + num.substr(intPos + 1, 2); } strUnit = strUnit.substr(strUnit.length - num.length); for (var i = 0; i < num.length; i++) { strOutput += strCapDgt.substr(num.substr(i, 1), 1) + strUnit.substr(i, 1); } return strPrefix + strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+圆/, '圆').replace(/亿零{0,3}万/, '亿').replace(/^圆/, "零圆"); }; function getArgsFromHref(sArgName) { var sHref = window.location.href; var args = sHref.split("?"); var retval = ""; if (args[0] == sHref) /*参数为空*/ { return retval; /*无需做任何处理*/ } var str = args[1]; args = str.split("&"); for (var i = 0; i < args.length; i++) { str = args[i]; var arg = str.split("="); if (arg.length <= 1) continue; if (arg[0] == sArgName) retval = arg[1]; } return retval; } function clearNoNum(obj) { obj.value = obj.value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符 obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是. obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的. obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); }