<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="test.css" />
</head>
<body>
<div class="container">
<div class="box">
<div class="input" id="txt">
<!-- <span>5</span>-->
</div>
<div class="fun">
<ul>
<li class="store">存储</li>
<li class="save">取存</li>
<li class="back">退格</li>
<li class="del">清屏</li>
</ul>
</div>
<div class="bottom">
<ul class="num">
<li>7</li>
<li>8</li>
<li>9</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>0</li>
<li class="point">.</li>
<li class="equal">=</li>
</ul>
<ul class="operation">
<li>÷</li>
<li>×</li>
<li>+</li>
<li>-</li>
</ul>
</div>
</div>
</div>
<script src="jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
//文本框内容
var $li = $("li");
var flag = 0;
$li.each(function() {
$(this).click(function() {
//获取输入框中的内容
var Text = $(".input").text().trim();
console.log($(this).text());
//判断第一个数是否为0
var txt = $(this).text();
if(flag == 0) {
txt = txt.replace(/^0*/g, '');
flag = 1;
}
// if(txt.match(/0\d{1-9}/)) {
//if(Text.match(/^0*/g))
//判断小数点,最多只能有一个小数点
if($(this).text() == ".") {
var n = Text.indexOf(".");
if(n > -1) {
//console.log("***");
return false;
}
}
$(".input").append(txt);
//运算符
switch($(this).text()) {
case "退格":
$(".input").text(Text.substr(0, Text.length - 1));
break;
case "清屏":
$(".input").text("");
break;
case "=":
function compute(content) {
//加
var index = content.indexOf("+");
if(index > -1) {
return parseFloat(compute(content.substring(0, index))) + parseFloat(compute(content.substring(index + 1)));
}
//减
index = content.lastIndexOf("-");
if(index > -1) {
return compute(content.substring(0, index)) - compute(content.substring(index + 1));
}
//乘
index = content.indexOf("×");
if(index > -1) {
return compute(content.substring(0, index)) * compute(content.substring(index + 1));
}
//除
index = content.lastIndexOf("÷");
if(index > -1) {
return compute(content.substring(0, index)) / compute(content.substring(index + 1));
}
if(content == "") {
return 0;
} else {
return Number(content);
}
}
$(".input").text(compute(Text));
}
});
});
</script>
</body>
</html>