JSP写的简单计算器,对输入进行js判断
1.caculator.jsp
<%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%>
<%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%>
<%@page import=”java.text.DecimalFormat”%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + “://”
+ request.getServerName() + “:” + request.getServerPort()
+ path + “/”;
%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<head>
<base href=”<%=basePath%>”>
<title>My JSP ‘calculator.jsp’ starting page</title>
<meta http-equiv=”pragma” content=”no-cache”>
<meta http-equiv=”cache-control” content=”no-cache”>
<meta http-equiv=”expires” content=”0″>
<meta http-equiv=”keywords” content=”keyword1,keyword2,keyword3″>
<meta http-equiv=”description” content=”This is my page”>
<!–
<link rel=”stylesheet” type=”text/css” href=”styles.css”>
–>
<script type=”text/javascript” src=”./js/NumChecks.js”></script>
</head>
<body>
<%
String num1 = request.getParameter(“num1″);
String num2 = request.getParameter(“num2″);
String operator = request.getParameter(“operator”);
%>
请输入20位以内的数字
<form action=”/calculator/calculator2.jsp” merhod=”post”>
请输入第一个数:
<input type=”text” name=”num1″ id=”num1″ value=”<%=num1%>”>
<br />
请输入第二个数:
<input type=”text” name=”num2″ id=”num2″ value=”<%=num2%>”>
<br />
选择操作:
<select name=”operator” value=”选择操作”">
<option value=”+”>
+
</option>
<option value=”-”>
-
</option>
<option value=”*”>
*
</option>
<option value=”/”>
/
</option>
</select>
<br />
<input type=”submit” onclick=”return NumCheck()” value=”计算” />
<%
if (num1 == null && num2 == null) {
out.println(“结果是:”);
} else {
Double num11 = Double.parseDouble(num1);
Double num22 = Double.parseDouble(num2);
String res = null;
DecimalFormat df=new DecimalFormat(“#.00″);
if (“+”.equals(operator)) {
res =df.format(num11 + num22);
} else if (“-”.equals(operator)) {
res =df.format(num11 – num22);
} else if (“*”.equals(operator)) {
res =df.format(num11 * num22);
} else if (“/”.equals(operator)) {
res =df.format(num11 / num22);
}
out.println(“结果是:” + res);
}
%>
</form>
</body>
</html>
2.NumCheck.js
function NumCheck(){
var numone=document.getElementByIdx_x(“num1″).value;
var numtwo=document.getElementByIdx_x(“num2″).value;
if(numone==”"||numtwo==”"){
window.alert(“请输入值!!”);
return false;
}
var input=/^[0-9]{1,20}$/;
if(!input.test(numone)||!input.test(numtwo)){
window.alert(“只能输入数字!!”);
return false;
}
}