JavaScript salary tool
来源:互联网 发布:樱井知香喷泉图片解 编辑:程序博客网 时间:2024/06/10 18:42
This tool can be used to calculate the payment after tax & social found.
// Copyright : Bian Junjie
<!DOCTYPE html><html><head><style type="text/css"> td{font-size:12px} table, td{border-width : 1px;border-color : #60FFD3;border-style : solid; border-collapse:collapse; border-spacing:0px}</style><script type="text/javascript"src="Common_JS.js"></script></head><body><table> <tr> <td class="ft"> 税前工资: </td> <td> 保险基数: </td> <td> <input id="Sub" type="button" value="submit" onClick="Main_process();"> </td> <td> <input id="Clr" type="button" value="reset" onClick="Emp_prm();"> </td> </tr> <tr> <td> <input type="text" id="Insalary"> </td> <td> <input type="text" id="Inbase"> </td> <td colspan=2> </td> </tr> <tr> <td colspan=4 id="outMsg">请输入工资、社保基数 </td> </tr></table></body><script type="text/javascript">//社保、公积金统一基数 var ENSRATE = 0.205;// var ENSRATE = 0.105; var CORENSRATE = 0.45; var TAXBASE = 3500; var Msg; var myWindow;function Main_process(){ var preSalary = commFunction.getValue("Insalary"); var ensBase = commFunction.getValue("Inbase"); if(1 == commFunction.empCheck(preSalary) || 1 == commFunction.empCheck(ensBase)){ commFunction.writeMsg("outMsg",commFunction.EMPTYVALUE); return; } if(1 == commFunction.NumCheck(preSalary) || 1 == commFunction.NumCheck(ensBase)){ commFunction.writeMsg("outMsg",commFunction.NONNUM); return; } preSalary = parseFloat(preSalary); ensBase = parseFloat(ensBase); var urtlSalary = 0; var ensTax = 0;// var hFound = 3000; writeHead(); while(1){ if(ensBase - preSalary >=0.0) break; ensTax = ensCalc(ensBase); urtlSalary = uSalCalc(ensTax,preSalary); writeVaule(preSalary,ensBase,urtlSalary,ensTax); ensBase += 500; } writeEnd();}function ensCalc(ensbase){ return ensbase * ENSRATE;}function uSalCalc(ens,pSal){ var usal = pSal - ens - TAXBASE; var outSal = 0; while(1){ if(usal <= 0){ outSal = pSal - ens; break; } if(usal <= 1500.00){ outSal = pSal - ens - usal*0.03; break; } if(usal <= 4500.00){ outSal = pSal - ens - usal*0.10 + 105; break; } if(usal <= 9000.00){ outSal = pSal - ens - usal*0.20 + 555; break; } if(usal <= 35000.00){ outSal = pSal - ens - usal*0.25 + 1005; break; }else{ break; } } return outSal;}function Emp_prm(){ document.getElementById("Insalary").value = ""; document.getElementById("Inbase").value = ""; document.getElementById("outMsg").innerHTML = "请输入工资、社保基数";}function writeHead(){ myWindow = window.open('','','width=850,height=500,scrollbars=yes,resizable=no,location=yes'); myWindow.document.write("<html><head><meta charset=\"gbk\" /><link rel=\"stylesheet\" type=\"text/css\" href=\"CommonCSS.CSS\"/><title>社保、工资计算</title></head><body>"); myWindow.document.write("<table><tr><th>税前工资</th><th>保险基数</th><th>缴纳社保</th><th>所得税</th><th>税后工资</th><th>公积金</th><th>工资+公积金</th><th>公司缴纳社保数</th></tr>");}function writeVaule(preSal,eB,realSal,eT){ myWindow.document.write("<tr><td>"+preSal.toFixed(2).toString()+"</td><td>"+eB.toFixed(2).toString()+"</td><td>"+eT.toFixed(2).toString()+"</td><td>"+(preSal-eT-realSal).toFixed(2).toString()+"</td><td>"+realSal.toFixed(2).toString()+"</td><td>"+(eB*0.1).toFixed(2).toString()+"</td><td>"+(eB*0.1*2 + realSal).toFixed(2).toString()+"</td><td>"+(eB*CORENSRATE).toFixed(2).toString()+"</td></tr>");}function writeEnd(){ myWindow.document.write("</table></body></html>");}</script></html>
Outer JavaScript:
//This is collection with common useful functions var commFunction = { EMPTYVALUE:"输入不能为空", NONNUM:"不能输入非数字", empCheck: function(InputValue){ if(InputValue.length==0 || InputValue.length == undefined){ return 1; }else{ return 0;} } , NumCheck: function (InputValue){ if(isNaN(parseInt(InputValue))){ return 1; }else return 0; } , getValue: function(id){ return document.getElementById(id).value; } , writeMsg: function(id,Msg){ document.getElementById(id).innerHTML = Msg; } , Zerotrim: function(InputValue){ for(var i= 0;;){ if(parseInt(InputValue.charAt(i)) == 0) InputValue = InputValue.substr(i+1); if(parseInt(InputValue.charAt(i)) != 0) break; } // input like '000' will be empty value after trim // give default value make sure no empty value return if(InputValue.length == 0) InputValue = "0"; return InputValue; } }
Result: from IE11
0 0
- JavaScript salary tool
- salary
- salary
- salary
- JavaScript Tool 开发手记。。。
- The JavaScript Code Quality Tool
- [Javascript] A tool for JS debugging
- Microsoft Sidebar gadget javascript tool library
- Chrome developer tool介绍(javascript调试)
- Chrome developer tool介绍(javascript调试)
- Chrome developer tool介绍(javascript调试)
- Chrome developer tool介绍(javascript调试)
- Chrome developer tool介绍(javascript调试)
- Chrome developer tool介绍 (javascript调试)
- Chrome developer tool介绍(javascript调试)
- Chrome developer tool介绍(javascript调试)
- Chrome developer tool介绍(javascript调试)
- Tool
- Ubuntu下密码学开发环境搭建
- 【hackerrank】图论内容
- 使用iframe遇到的问题
- 知晓JVM系列(一):JVM基本结构与工作原理
- 研究者们公布图像识别软件方面的最新进展
- JavaScript salary tool
- linux 下如何打开core dump文件开关
- ListView的圆角的简单实现
- UVa 12578 - 10:6:2
- coredump简介与coredump原因总结
- windows基础应用程序编程(十二)文件操作
- android真机调试 logcat日志不输出或者输出内容较少时解决方法
- 【一个C++程序】小课设
- Project Euler 92