一年前寫的:計算所得稅以及計算24點遊戲
一年多前一個夜裡寫的, 後來花時間做了些注釋.
可以計算出個人所得稅(月收入);根據所得稅推算個人所得;計算24點的小遊戲. 3部分都包含在一個頁面裡面,純html+javascript.
其中個人所得稅(月收入)借荐了某人的, 後面兩個絕對原創
<head><script Language="JavaScript">...<!--
function FrontPage_Form_Validator(theForm)
...{
var checkOK = "0123456789.";
var checkStr = theForm.money.value;
var allValid = true;
var decPoints = 0;
if (checkStr.charAt(0)==".")
allValid = false;
for (i = 0; i < checkStr.length; i++)
...{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
...{
allValid = false;
break;
}
if (ch == ".") decPoints += 1;
}
if ((!allValid) || decPoints>=2)
...{
alert("月收入/繳納:非數值");
return (false);
}
var checkOK = "0123456789";
var checkStr = theForm.KCmoney.value;
var allValid = true;
var decPoints = 0;
var allNum = "";
for (i = 0; i < checkStr.length; i++)
...{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
...{
allValid = false;
break;
}
if (ch != ",")
allNum += ch;
}
if (!allValid)
...{
alert("起征额非整數");
return (false);
}
if (theForm.type.value == "個人所得稅計算器")
...{
var basicm,totalmoney,cha,output;
totalmoney=document.form1.money.value;
basicm=document.form1.KCmoney.value;
cha=totalmoney-basicm;
if (cha<=0) ...{output=0;}
if (cha>0&&cha<=500) ...{output=cha*0.05;}
if (cha>500&&cha<=2000) ...{output=cha*0.1-25;}
if (cha>2000&&cha<=5000) ...{output=cha*0.15-125;}
if (cha>5000&&cha<=20000) ...{output=cha*0.2-375;}
if (cha>20000&&cha<=40000) ...{output=cha*0.25-1375;}
if (cha>40000&&cha<=60000) ...{output=cha*0.30-3375;}
if (cha>60000&&cha<=80000) ...{output=cha*0.35-6375;}
if (cha>80000&&cha<=100000) ...{output=cha*0.4-10375;}
if (cha>100000&&cha>100000) ...{output=cha*0.45-15375;}
alert("應該繳納="+output+"元"+" "+" "+":)");
return (false);
}
if (theForm.type.value == "個人所得稅反算計算器")
...{
var basicm,tex,output,cha;
tex=document.form2.money.value;
basicm=document.form2.KCmoney.value;
cha=tex-0;
if (cha<=0) ...{output=0;}
if (cha>0&&cha<=25) ...{output=cha/0.05;}
if (cha>25&&cha<=175) ...{output=(cha+25)/0.1;}
if (cha>175&&cha<=625) ...{output=(cha+125)/0.15;}
if (cha>625&&cha<=3625) ...{output=(cha+375)/0.2;}
if (cha>3625&&cha<=8625) ...{output=(cha+1375)/0.25;}
if (cha>8625&&cha<=15625) ...{output=(cha+3375)/0.3;}
if (cha>15625&&cha<=21625) ...{output=(cha+6375)/0.35;}
if (cha>21625&&cha<=29625) ...{output=(cha+10375)/0.4;}
if (cha>29625&&cha>29625) ...{output=(cha+15375)/0.45;}
output=output+(basicm-0);
alert("本月收入="+output+"元"+" "+" "+":)");
return (false);
}
}
function FrontPage_Form_To24(theForm)
...{
var calculatetype = "ABCDEF";
var checkStr1 = theForm.int1.value;
var checkStr2 = theForm.int2.value;
var checkStr3 = theForm.int3.value;
var checkStr4 = theForm.int4.value;
if (CheckErr(checkStr1))
...{
alert("請重新輸入第一個數值");
return (false);
}
if (CheckErr(checkStr2))
...{
alert("請重新輸入第二個數值");
return (false);
}
if (CheckErr(checkStr3))
...{
alert("請重新輸入第三個數值");
return (false);
}
if (CheckErr(checkStr4))
...{
alert("請重新輸入第四個數值");
return (false);
}
for (chl = 1; chl <= 4; chl++) //060320 Update by Jackie:整理函數的注釋
...{
for (chm = 1; chm <= 3; chm++)
...{
checkStr = checkStr1+checkStr2+checkStr3+checkStr4;//假設成"1234"
int1=checkStr.charAt(chl-1);
checkStr=checkStr.substr(0,chl-1)+checkStr.substr(chl,4-chl);//此時checkStr為3位,last:checkStr="123"
int2=checkStr.charAt(chm-1);
checkStr=checkStr.substr(0,chm-1)+checkStr.substr(chm,3-chm);//此時checkStr為2位,last:checkStr="12"
int3=checkStr.charAt(0);
int4=checkStr.charAt(1);
//通過兩個FOR循環,實現int1~int4能取到字串"1234"的任意組合(計12種)
//12種組合分別為(按照int1+int2+int3+int4得順序): 1234,1324,1423, 2134,2314,2413, 3124,3214,3412, 4123,4213,4312
for (l = 0; l < calculatetype.length; l++)//驗證其中1個組合是否能算出24點?
...{
tmp1 = cal(int1,int2,calculatetype.charAt(l))
strtmp1 = show(int1,int2,calculatetype.charAt(l))
for (m = 0; m < calculatetype.length; m++)
...{
tmp2 = cal(tmp1,int3,calculatetype.charAt(m))
strtmp2 = show(strtmp1,int3,calculatetype.charAt(m))
for (n = 0; n < calculatetype.length; n++)
...{
tmp3 = cal(tmp2,int4,calculatetype.charAt(n))
strtmp3 = show(strtmp2,int4,calculatetype.charAt(n))
if ((tmp3-24<0.001) && (tmp3-24>-0.001))
...{
alert("24="+strtmp3+" "+":)");
return (false);
}
}
}
}//end for (l = 0; l < calculatetype.length; l++)
}
}
alert("Jackie算不出來"+" "+":(");
return (false);
}
function CheckErr(Inputstr)
...{
var checkOK = "0123456789";
var Validator = false;
if ((Inputstr.length>1) || (Inputstr.length==0))
return (true);
for (j = 0; j < checkOK.length; j++)
if (Inputstr == checkOK.charAt(j))
break;
if (j == checkOK.length)
Validator = true;
return (Validator);
}
function cal(a,b,type)
...{
a -= 0;
b -= 0;
if (type=="A") c = a+b;
if (type=="B") c = a-b;
if (type=="C") c = b-a;
if (type=="D") c = a*b;
if ((type=="E") && b==0) c = 9999;
if ((type=="E") && b!=0) c = a/b;
if ((type=="F") && a==0) c = 9999;
if ((type=="F") && a!=0) c = b/a;
return (c);
}
function show(a,b,type)
...{
//a -= 0;
//b -= 0;
if (type=="A") c = "("+a+"+"+b+")";
if (type=="B") c = "("+a+"-"+b+")";
if (type=="C") c = "("+b+"-"+a+")";
if (type=="D") c = a+"*"+b;
if ((type=="E") && b==0) c = 9999;
if ((type=="E") && b!=0) c = a+"/"+b;
if ((type=="F") && a==0) c = 9999;
if ((type=="F") && a!=0) c = b+"/"+a;
return (c);
}
//--></script>
<title>個人所得稅計算器_Jackie060219</title>
</head>
<body>
<form name="form1" onsubmit="return FrontPage_Form_Validator(this)">
<div align="center"><center><table border="1" width="350" cellpadding="4" cellspacing="0"
bordercolor="#bbddff" style="FONT-SIZE: 9pt; FONT-FAMILY: 新細明體">
<tr>
<td><div align="center"><center><p><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體"><font
color="#ff0000">个人所得税计算器<INPUT size=18
name=type
value=個人所得稅計算器 disabled readOnly></font></span></center></P></div></td>
</tr>
<tr align="middle">
<td><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體">请输入您的月收入:</span> <input
name="money" size="18"><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體">元</span></td>
</tr>
<tr align="middle">
<td><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體">当地个人所得税起征额:</span><input
name="KCmoney" size="18" ><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體">元</span><br>(例如8001000, 上海新標準是1600)</td>
</tr>
<tr align="middle">
<td bgcolor="#88c4ff"><input type="submit" name="sub" value="計算"
><input type="reset" value="重新輸入" id=reset1 name=reset1></td>
</tr>
</table>
</center></div>
</form>
<form name="form2" onsubmit="return FrontPage_Form_Validator(this)">
<div align="center"><center><table border="1" width="350" cellpadding="4" cellspacing="0"
bordercolor="#bbddff" style="FONT-SIZE: 9pt; FONT-FAMILY: 新細明體">
<tr>
<td><div align="center"><center><p><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體"><font
color="#ff0000">个人所得税反算计算器<INPUT disabled readOnly size=18
value=個人所得稅反算計算器 name=type></font></span></center></P></div></td>
</tr>
<tr align="middle">
<td><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體">请输入您的月繳納所得稅:</span> <input
name="money" size="18"><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體">元</span></td>
</tr>
<tr align="middle">
<td><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體">当地个人所得税起征额:</span><input
name="KCmoney" size="18" ><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體">元</span><br>(例如8001000, 上海新標準是1600)</td>
</tr>
<tr align="middle">
<td bgcolor="#88c4ff"><input type="submit" name="sub" value="計算"
><input type="reset" value="重新輸入" id=reset2 name=reset2></td>
</tr>
</table>
</center></div>
</form>
<form name="form3" onsubmit="return FrontPage_Form_To24(this)">
<div align="center"><center><table border="1" width="350" cellpadding="4" cellspacing="0"
bordercolor="#bbddff" style="FONT-SIZE: 9pt; FONT-FAMILY: 新細明體">
<tr align="middle">
<td><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體"><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體"><FONT
color=#ff0000>輸入4個一位數,計算24點</FONT></SPAN></span></td>
</tr>
<tr align="middle">
<td><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體"><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體"><INPUT
size=18 name=int1></SPAN><INPUT size=18 name=int2></span></td>
</tr>
<tr align="middle">
<td><span style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體"><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 新細明體"><INPUT
size=18 name=int3></SPAN><INPUT size=18 name=int4></span></td>
</tr>
<tr align="middle">
<td bgcolor="#88c4ff"><input type="submit" name="sub" value="計算"
><input type="reset" value="重新輸入" id=reset1 name=reset1></td>
</tr>
</table>
</center></div>
</form>
<a href="http://www.speakeasy.net/speedtest/">
<img src="http://www.speakeasy.net/images/speedtest/gifs/speedtest_120x60.gif" width="120" height="60" border="0" alt="Speakeasy Speed Test">
</a>
</body>
</html>
一年前寫的:計算所得稅以及計算24點遊戲相关推荐
- [Teaching] [Silverlight] 用 Silverlight 一起開發Kuso小遊戲《捏氣泡》- 設計人員篇
楔子 當程式人員完成遊戲的骨架後,就交給設計人員,將介面的部分一鼓作氣地製作完成吧! 我們採用的技術平台及工具如下: 1. Silverlight 4 2. Visual Studio 2010 3. ...
- 計算機程序設計:7大編程原則
計算機程序設計:7大編程原則 寫出乾淨優雅的代碼並不是一件容易的事情. 編程的工作同石匠的工作相類似,即是技術活,也是體力活,而編寫優秀的軟件,算是一件比較難的事.編程大牛們並不是直接上手編寫,而是根 ...
- java个人所得税计算方法计算方法 : 全月应纳税所得额 =工资薪金所得-3500 应纳税额 = 应纳税所得额 *税率-速算扣除数
个人所得税计算方法计算方法 : 全月应纳税所得额 =工资薪金所得-3500 应纳税额 = 应纳税所得额 *税率-速算扣除数 (自己初学Java做的小练习) import java.util.Scann ...
- (轉貼) 美電腦工程師改寫遊戲軟體向女友求婚成功 (News)
Abstract 美國一名電腦程式工程師改寫女友最喜歡的電腦遊戲程式,在遊戲中向女友求婚,結果不僅抱得美人歸,還贏得遊戲發明公司的獎勵. Introduction轉貼自http://news.pcho ...
- The Sandbox沙盒遊戲設計大賽將於12月24日開始
The Sandbox與Round21聯手為玩家帶來沙盒遊戲設計大賽. 你需要使用The Sandbox的遊戲開發軟件Game Maker來製作一個與體育相關的遊戲,這個體育項目可以是現實的,也可以是 ...
- oj contest ranklist时间怎么算的_几次买入基金怎么算持有天数,加仓算在原来持有时间吗...
基金可以随时进行加仓,当行情来临时,不少投资者会进行加仓.但赎回时遇到了一个问题,就是几次买入基金怎么算持有天数,加仓算在原来持有时间吗?面对加仓后计算持有天数不知所措,今天小编跟大家来分享下基金买入 ...
- 遊戲是這樣寫成的 (第三篇: 簡單的遊戲框架)
遊戲是這樣寫成的 (第三篇: 簡單的遊戲框架) 通過上一篇, 我們已有個基本的畫圖功能, 這次讓我們弄一個簡單的遊戲框架吧! 其實一般的遊戲, 大至有兩個主要的函數就可以了: update 和 ren ...
- 年龄到底怎么算才对_怎么算年龄才是正确的
巧算年龄 巧算年龄 再过几天,就是我的 9 岁生日了,这几天我总在想:妈妈会送什么生日礼物给我呢? 真是让人期待呀! 今天晚饭后,我终于忍不住问妈妈: "妈妈,今年过生日我想要一个超大的变形 ...
- 字数统计,一个英文字母算一个字,一个汉字算一个字,一个符号算一个字
//============================================================================= // // 字数统计,一个英文字母算一个 ...
最新文章
- 获取系统时间精确到毫秒级C++代码实现
- windows下带超时的telnet探测IP和端口
- array_unique() 去重复
- NYOJ 741 数学家ST
- python捕获全局异常统一管理_python中如何用sys.excepthook来对全局异常进行捕获、显示及输出到error日志中...
- Qt QTcpSocket使用总结
- web前端开发最佳实践_Web开发人员和设计师的最佳黑色星期五优惠
- 3 个很酷的 Python 库,可以节省您的时间和精力
- 深受企业青睐的华为云
- 重要文件即时搞定,不用插电就能打印,汉印MT800移动便携打印机上手
- Linux文字识别软件,Ubuntu 14.04下PDF 文字识别工具gscan2pdf
- 心动的本质是什么_喜欢上一个人的本质是什么?
- python多任务爬虫(四、协程池实现爬虫)
- html+canvas 星空背景案例
- 电脑监控是真的吗?4个实验一探究竟
- 理解分布式一致性:Paxos协议之Multi-Paxos
- NFT 金融化:存在哪些机会?面临哪些挑战?
- 看看你在古代是什么学历?(附真题)
- 99. 中高级开发面试必问的Redis,看这篇就够了
- 尚学堂Java培训:如何寻找好书?
热门文章
- php票据打印模板,PHP实现多条采购单据界面
- 笔记本电脑外接屏幕步骤
- 4.TradingView K线和成交量没有自适应区域显示,ma线显示会错乱,高低不齐(巨坑)
- 常用计算机制图软件,常用的电脑画图软件有什么?
- 华为智慧屏x1是鸿蒙系统吗,荣耀智慧屏x1和华为智慧屏s55有什么区别?哪个值得买...
- 2021-09-21如何在PCB上做一个城市地铁图?
- ffmpeg使用记录--解决了压制的视频在安卓不播放的问题
- 2opt邻域搜索算法—以旅行商问题为例
- 【JDK7】新特性(3) JDBC4.1
- 给win10平板来个标准USB+充电