📜  使用jQuery设计和实现计算器(1)

📅  最后修改于: 2023-12-03 14:49:48.812000             🧑  作者: Mango

使用jQuery设计和实现计算器

如果您是一个前端开发人员,您可能会知道如何使用jQuery来简化代码并使其更易于管理。这篇文章将教你如何使用jQuery设计和实现一个计算器。

HTML代码

首先,我们需要设置我们的HTML代码。这是一个基本的HTML代码,其中包含了我们需要的按钮和一个输入框:

<!DOCTYPE html>
<html>
<head>
	<title>jQuery Calculator</title>
	<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</head>
<body>
	<div id="calculator">
		<input type="text" id="result" value="0" readonly>
		<button id="btnClear">C</button>
		<button id="btnBack">←</button>
		<button id="btnDivide">/</button>
		<button id="btn7">7</button>
		<button id="btn8">8</button>
		<button id="btn9">9</button>
		<button id="btnMultiply">*</button>
		<button id="btn4">4</button>
		<button id="btn5">5</button>
		<button id="btn6">6</button>
		<button id="btnSubtract">-</button>
		<button id="btn1">1</button>
		<button id="btn2">2</button>
		<button id="btn3">3</button>
		<button id="btnAdd">+</button>
		<button id="btnChangeSign">±</button>
		<button id="btn0">0</button>
		<button id="btnDecimal">.</button>
		<button id="btnEquals">=</button>
	</div>
</body>
</html>
CSS样式

这是我们的CSS样式,用于设置按钮和输入框的样式和布局:

<style>
#calculator {
	width: 200px;
	padding: 10px;
	border: 1px solid black;
}
#calculator input {
	width: 100%;
	margin: 5px 0;
	padding: 5px;
	font-size: 1.2em;
	text-align: right;
}
#calculator button {
	width: 25%;
	margin: 5px;
	padding: 5px;
	font-size: 1.2em;
	background-color: #eee;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}
</style>
jQuery代码

最后,这是我们的jQuery代码。它处理了点击每个按钮时要执行的操作。请注意,我们使用了eval()函数来计算结果。这是一个不安全的函数,我们必须确保用户不能注入任何恶意代码。在这种情况下,我们通过使用正则表达式来验证用户输入:

<script>
$(document).ready(function() {

	// Clear the input field
	$('#btnClear').click(function() {
		$('#result').val('0');
	});

	// Delete the last character from the input field
	$('#btnBack').click(function() {
		var value = $('#result').val();
		$('#result').val(value.substring(0, value.length-1));
	});

	// Append the selected button value to the input field
	$('button:not(#btnEquals)').click(function() {
		var value = $('#result').val();
		var appendValue = $(this).text();
		if(value == '0') {
			$('#result').val(appendValue);
		} else {
			$('#result').val(value + appendValue);
		}
	});

	// Calculate the result
	$('#btnEquals').click(function() {
		var value = $('#result').val();

		// Regular expression to check for valid input
		var regex = /^(\d+(\.\d+)?((\/|\*|\-|\+|\%)(\d+(\.\d+)?))*)+$/;

		if(regex.test(value)) {
			$('#result').val(eval(value));
		} else {
			alert('Invalid input!');
		}
	});

	// Change the sign of the input field value
	$('#btnChangeSign').click(function() {
		var value = $('#result').val();
		if(value.charAt(0) == '-') {
			$('#result').val(value.substring(1));
		} else {
			$('#result').val('-' + value);
		}
	});

	// Append a decimal point to the input field value
	$('#btnDecimal').click(function() {
		var value = $('#result').val();
		if(value.indexOf('.') == -1) {
			$('#result').val(value + '.');
		}
	});

});
</script>
总结

现在你已经了解了如何使用jQuery来设计和实现计算器。你的计算器可以随意定制,根据你的需要添加/修改功能。