js实现ATM机存取款功能
(编辑:jimmy 日期: 2024/11/5 浏览:3 次 )
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="/UploadFiles/2021-04-02/ATM.js">主页界面代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ATM</title> <script src="/UploadFiles/2021-04-02/ATM.js">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; }运行效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇:详解基于electron制作一个node压缩图片的桌面应用
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?