js是一个功能十分强大的脚本语言,通过js能实现很多有意思的demo!而要实现那些功能炫酷、特效美观的东西DOM操作是必不可少且尤为重要的!这个ATM机存取款的案例,就用到js中一些简单的DOM操作来实现其功能。
ATM机案例功能需求:
1.用户最多只能有三次输入卡号和密码的机会,如果超过三次,则提示卡号已被锁定
2.用户取款的金额不能大于卡上的账户余额
3.存取功能完成后,要更新相应的余额信息
登录界面代码:
ATMdiv{
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;
}
ATM机
卡号:
密码:
登录
主页界面代码:
ATMdiv{
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;
}
ATM机
余额:
存款: 存款
取款: 取款
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;
}
运行效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。