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 相关文章推荐
Javascript string 扩展库代码
Apr 09 Javascript
js二维数组排序的简单示例代码
Jan 24 Javascript
jquery实现鼠标悬浮停止轮播特效
Aug 20 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
Apr 27 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
May 03 Javascript
jQuery添加options点击事件并传值实例代码
May 18 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
Mar 23 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 jQuery
JavaScript之解构赋值的理解
Jan 30 Javascript
layui插件表单验证提交触发提交的例子
Sep 09 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 Javascript
JavaScript 几种循环方式以及模块化的总结
Sep 03 Javascript
详解基于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来实现网络服务
2009/09/15 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
php学习之function的用法
2012/07/14 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
RGB颜色值转HTML十六进制(HEX)代码的JS函数
2009/04/25 Javascript
JQuery autocomplete 使用手册
2010/04/01 Javascript
html+css+js实现xp window界面及有关功能
2013/03/26 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
python中的闭包用法实例详解
2015/05/05 Python
解析Python编程中的包结构
2015/10/25 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
经典大学生求职信范文
2014/01/06 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
岗位明星事迹材料
2014/05/18 职场文书
网络营销策划方案
2014/06/04 职场文书
文明倡议书
2015/01/19 职场文书
质量负责人岗位职责
2015/02/15 职场文书
小学工作总结2015
2015/05/04 职场文书
利用Python多线程实现图片下载器
2022/03/25 Python
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技