视频加载中...
let catching = '';//全局变量
//click事件,获取相关元素
document.getElementById('p3').addEventListener('click', function (e) {
let num = e.target.innerText;
determine(num);
})
//分流函数
function determine(content) {
let receive = content;
if (!(receive.match(/["-","+","×","÷",".","0","00","del","C","="]/))) {
again(receive);//【1-9】的输入
} else if ((receive.match(/^["-","+","×","÷"]$/))) {
drop(receive);//加减乘除的正则
} else if ((receive.match(/^["0"]$/))) {
zero(receive);//0的正则
} else if ((receive.match(/^["."]$/))) {
repeat(receive);//点的正则
} else if ((receive == '00')) {
doublezero(receive);//双00的正则
} else if(receive == 'del'){
dele();//删除函数
}else if(receive == '='){
display();//计算函数
}else if(receive.length > 4){//放置p3内容输入
return
}else{
location.reload(); //C重置键
}
}
function again() {
let receive = Array.prototype.shift.apply(arguments);
document.getElementById('p2').innerHTML = catching += receive;
}
function drop(number) {
const arr = [];
let receive = number;
let module = document.getElementById('p2').innerText;
if (module[module.length - 1].match(/["-","+","×","÷"]/)) {
for (let i = 0; i < module.length; i++) {
arr.push(module[i]);
}
arr.pop();
arr.push(receive);
document.getElementById('p2').innerHTML = arr.join('');
} else if (module.length == 1 && module == '0') {
document.getElementById('p2').innerHTML = '';
catching = '';
document.getElementById('p2').innerHTML = catching += '0' + receive;
} else {
document.getElementById('p2').innerHTML = catching += receive;
}
}
function zero(number) {
let receive = number;
let module = document.getElementById('p2').innerText;
if (module.length == 1 && module == '0') {
return
} else if(module.length > 1) {
if (module[module.length - 2].match(/[-+×]/g) && module[module.length - 1].match(/["0"]/g)){
return
}else if((module[module.length - 1].match(/["÷"]/g))&& receive == '0'){
alert('除数不能为零');
location.reload();
}else{
document.getElementById('p2').innerHTML = catching += receive;
}
} else{
document.getElementById('p2').innerHTML = catching += receive;
}
}
function repeat(number) {
let receive = number;
let module = document.getElementById('p2').innerText;
if (module.length == 1 && module == '0') {
document.getElementById('p2').innerHTML = catching += '0' + receive;
} else {
let num = (module.replace(/[-+×÷]/g, '-').split('-')[(module.replace(/[-+×÷]/g, '-').split('-')).length - 1])
if (num.match(/['.']/)) {
return
} else if (module[module.length - 1].match(/[-+×÷]/g)) {
document.getElementById('p2').innerHTML = catching += '0' + receive;
} else {
document.getElementById('p2').innerHTML = catching += receive;
}
}
}
function doublezero(number) {
let receive = number;
let module = document.getElementById('p2').innerText;
if (module.length == 1 && module == '0') {
return
} else if (module[module.length - 1].match(/[-+×]/g)) {
document.getElementById('p2').innerHTML = catching += '0';
} else if (module[module.length - 1].match(/["÷"]/g) && receive == '00') {
alert('除数不能为零');
location.reload();
} else {
if (module.length > 1) {
if (module[module.length - 2].match(/[-+×]/g) && (module[module.length - 1].match(/[0]/g))) {
return
} else {
document.getElementById('p2').innerHTML = catching += receive;
}
}else{
document.getElementById('p2').innerHTML = catching += receive;
}
}
}
function dele(){
const arr = [];
let module = document.getElementById('p2').innerText;
for(let i = 0;i arr.push(module[i]); } arr.pop(); catching = ''; document.getElementById('p2').innerHTML = ''; if(module.length == 1){ document.getElementById('p2').innerHTML = 0; }else{ document.getElementById('p2').innerHTML = arr.join(''); } } function display() { let module = document.getElementById('p2').innerText; const arr = new Array(); for (let i = 0; i < module.length; i++) { if (module[i] == '-') { arr.push('-'); } else if (module[i] == '+') { arr.push('+'); } else if (module[i] == '×') { arr.push('*'); } else if (module[i] == '÷') { arr.push('/'); } else { arr.push(module[i]); } } document.getElementById('p2').innerHTML = ''; catching = ''; document.getElementById('p2').innerHTML = eval(arr.join('')); catching = eval(arr.join('')); }
页面更新:2024-03-03
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号