js实现ATM机存取款功能


Posted in Javascript onOctober 27, 2020

js是一个功能十分强大的脚本语言,通过js能实现很多有意思的demo!而要实现那些功能炫酷、特效美观的东西DOM操作是必不可少且尤为重要的!这个ATM机存取款的案例,就用到js中一些简单的DOM操作来实现其功能。

ATM机案例功能需求:

1.用户最多只能有三次输入卡号和密码的机会,如果超过三次,则提示卡号已被锁定
2.用户取款的金额不能大于卡上的账户余额
3.存取功能完成后,要更新相应的余额信息 

登录界面代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>ATM</title>
 <script src="ATM.js"></script>
 <style>
 div{
 width: 300px;
 height: 200px;
 margin: 0 auto;
 border:1px solid black;
 border-radius: 5px;
 text-align: center;
 }
 p {
 font-size: 20px;
 }
 button {
 border: 0px;
 padding: 5px;
 background-color: green;
 color: white;
 }
 </style>
</head>
<body>
 <div>
 <p>ATM机</p>
 <p><label>卡号:</label><input type="text" id="account"></p>
 <p><label>密码:</label><input type="password" id="password"></p>
 <p><button onclick="login()">登录</button></p>
 </div>
</body>
</html>

主页界面代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>ATM</title>
 <script src="ATM.js"></script>
 <style>
 div{
 width: 300px;
 height: 200px;
 margin: 0 auto;
 border:1px solid black;
 border-radius: 5px;
 text-align: center;
 }
 p {
 font-size: 20px;
 }
 button {
 border: 0px;
 padding: 5px;
 background-color: green;
 color: white;
 }
 </style>
</head>
<body>
 <div>
 <p>ATM机</p>
 <p><label>余额:</label><input type="text" id="balance" value="2000.00" disabled></p>
 <p><label>存款:</label><input type="text" id="deposit"> <button onclick="deposit()">存款</button></p>
 <p><label>取款:</label><input type="text" id="withdraw"> <button onclick="withdraw()">取款</button></p>
 
 </div>
</body>
</html>

js代码:

var i = 2; //定义密码输错的次数

//判断输入的卡号是不是数字类型
//返回true,证明不是数字;返回false,证明是数字

 function checkNumber(account){
 var pattern=/^[0-9]*[1-9][0-9]*$/;
 return pattern.test(account);
 // return isNaN(account);
 }

//判断输入的卡号和密码是否为空
 function checkNull(account,password){
 if(account.length>0 && password.length>0){
 return true;
 }
 return false;
 }

//登录事件
 function login(){
 var account=document.getElementById("account").value;
 var password=document.getElementById("password").value;

 if(!checkNull(account,password)){
 alert("卡号和密码不能为空!");
 return; //终止登录方法,下面的代码不会执行
 }
 if(!checkNumber(account)){
 alert("卡号必须为数字!");
 return;
 }
 if(i>0 && account=="123456789" && password=="123"){
 window.location.href="index.html" rel="external nofollow" ;
 }else{
 if(i == 0){
 alert("当前卡号被锁定!");
 return;
 }
 alert("你还剩下"+i+"次输入卡号和密码的机会");
 i--;
 return;
 }
 }

//存款
 function deposit(){
 var balance = parseFloat(document.getElementById("balance").value); //获取余额,并将其转换为数字
 var deposit = document.getElementById("deposit").value;

 if(!deposit.length>0){
 alert("请输入您要存款的金额");
 return;
 }
 if(checkNumber(deposit)){
 alert("请输入数字");
 return;
 }

 balance+=parseFloat(deposit);
 document.getElementById("balance").value=balance; //修改存款完成以后显示的余额

 }

 //取款
 function withdraw(){
 var balance = parseFloat(document.getElementById("balance").value); //获取余额,并将其转换为数字
 var withdraw = document.getElementById("withdraw").value;

 if(!withdraw.length>0){
 alert("请输入您要取款的金额");
 return;
 }
 if(checkNumber(withdraw)){
 alert("请输入数字");
 return;
 }

 //判断取款是否大于余额
 if(parseFloat(withdraw)>balance){
 alert("余额不足!");
 }

 balance-=parseFloat(withdraw);
 document.getElementById("balance").value=balance;
 }

运行效果:

js实现ATM机存取款功能
js实现ATM机存取款功能
js实现ATM机存取款功能
js实现ATM机存取款功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js loading加载效果实现代码
Nov 24 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
Apr 27 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
Dec 23 Javascript
前端面试知识点锦集(JavaScript篇)
Dec 28 Javascript
JS仿JQuery选择器功能
Mar 08 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
Oct 13 jQuery
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
Jan 16 Javascript
angular基于ng-alain定义自己的select组件示例
Feb 23 Javascript
layui 表格的属性的显示转换方法
Aug 14 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
详解基于electron制作一个node压缩图片的桌面应用
Jan 29 #Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
Jan 29 #Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
Jan 29 #Javascript
JS实现的类似微信聊天效果示例
Jan 29 #Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 #Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 #Javascript
详解基于webpack&amp;gettext的前端多语言方案
Jan 29 #Javascript
You might like
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
js 字符串操作函数
2009/07/25 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
14个有用的Jquery技巧分享
2015/01/08 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
JavaScript中import用法总结
2019/01/20 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
js实现适配移动端的拖动效果
2020/01/13 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
[45:32]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
通过python检测字符串的字母
2020/02/18 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
银行学习十八大感想
2014/01/11 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
可口可乐广告词
2014/03/20 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
民用住房租房协议书
2014/10/29 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
Redis安装启动及常见数据类型
2021/04/14 Redis
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js