| Bài viết này sẽ hướng dẫn viết một chương trình tính toán kết quả bằng một chuỗi phương trình giống như excel(vd: =a+b*c-d/e) bằng cách sử dụng phương thức EVAL trong JavaScript. |
Hàm - Function
function calculate(equation)
{
var answer = 'err';
if (equation.match(/^[0-9+\-*/(). ]*$/))
{
try
{
answer = equation != '' ? eval(equation) : '0';
}
catch (e)
{
//
}
}
return answer;
}
{
var answer = 'err';
if (equation.match(/^[0-9+\-*/(). ]*$/))
{
try
{
answer = equation != '' ? eval(equation) : '0';
}
catch (e)
{
//
}
}
return answer;
}
Demo online:
Mã nguồn - Source:
<html>
<head>
<title>vnlives.net</title>
</head>
<script type="text/javascript">
function calculate(equation)
{
// equation can have characters 0-9, +, -, *, /, (, ), . and spaces
// If there are any other characters, return an error
var answer = 'err';
if (equation.match(/^[0-9+\-*/(). ]*$/))
{
try
{
answer = equation != '' ? eval(equation) : '0';
}
catch (e)
{
// Syntax error - Do nothing... answer remains 'err'
}
}
return answer;
}
</script>
<body>
<form action="#" method="get">
<input name="equation" onkeypress="if ((window.event ? event.keyCode : event.which) == 13) { this.form.elements['answer'].value = calculate(this.value); }" size="30" type="text" value="" />
<input onclick="this.form.elements['answer'].value = calculate(this.form.elements['equation'].value);" type="button" value=" = " />
<input name="answer" size="10" type="text" value="" />
</form>
</body>
</html>
<head>
<title>vnlives.net</title>
</head>
<script type="text/javascript">
function calculate(equation)
{
// equation can have characters 0-9, +, -, *, /, (, ), . and spaces
// If there are any other characters, return an error
var answer = 'err';
if (equation.match(/^[0-9+\-*/(). ]*$/))
{
try
{
answer = equation != '' ? eval(equation) : '0';
}
catch (e)
{
// Syntax error - Do nothing... answer remains 'err'
}
}
return answer;
}
</script>
<body>
<form action="#" method="get">
<input name="equation" onkeypress="if ((window.event ? event.keyCode : event.which) == 13) { this.form.elements['answer'].value = calculate(this.value); }" size="30" type="text" value="" />
<input onclick="this.form.elements['answer'].value = calculate(this.form.elements['equation'].value);" type="button" value=" = " />
<input name="answer" size="10" type="text" value="" />
</form>
</body>
</html>
Write: +Bui Ngoc Son
No comments:
Post a Comment