1. 程式人生 > >編寫一個僱員登錄檔單並進行驗證

編寫一個僱員登錄檔單並進行驗證

Javaweb第二章課後習題

編寫一個僱員註冊的表單,要求輸入以下內容:僱員編號、僱員姓名、僱員工作、僱傭日期、基本工資和獎金。並對錶單進行JavaScript驗證,驗證要求如下:

1. 僱員編號:只能是數字;

2. 僱員姓名:不能為空;

3. 僱員工作:不能為空;

4. 僱傭日期:必須是日期格式,即2018-10-13;

5. 基本工資:必須是數字(小數);

6. 獎金:必須是數字(小數)。

思路:先寫一個html表單檔案,進行JavaScript驗證,並把表單內容提交給jsp檔案,然後建立一個class類加入無參構造,最後寫一個jsp檔案接收並顯示內容。程式碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="GBK">
<title>僱員登錄檔單</title>
<script type="text/javascript">
	function check(){
		return checkEmp();
	}
	function checkEmp(){
		if(document.getElementById('empno').value.length==0)
	    {alert("編號不能為空!");
	    document.getElementById('empno').focus();
	    return false;}
	    var value = document.getElementById("empno").value;
	    var reg=/^[1-9]\d*$|^0$/;   
	    if(reg.test(value)!=true)
	    {
	    	alert("編號必須為數字!");
	    	document.getElementById('empno').focus();
	    	return false;
	    }

	    if(document.getElementById('empname').value.length==0)
	    {
	    	alert("姓名不能為空!");
	    	document.getElementById('empname').focus();
	    	return false;
	    }

	    if(document.getElementById('empjob').value.length==0)
	    {
	    	alert("工作不能為空!");
	    	document.getElementById('empjob').focus();
	    	return false;
	    }

	    if(!document.getElementById("empdate").value.match("^[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}$")) 
	    {
	    	alert( "日期格式錯誤 xxxx-xx-xx");
	    	document.getElementById('empdate').focus();
	    	return false;
	    }

	    if(!document.getElementById("empsal").value.match("^[0-9]{1,9}.[0-9]{2,2}$"))
	    {
	    	alert( "工資格式錯誤x...x.xx ");
	    	document.getElementById('empsal').focus();
	    	return false;
	    }
	    
	    if(!document.getElementById("empbond").value.match("^[0-9]{1,9}.[0-9]{2,2}$"))
	    {
	    	alert( "獎金格式錯誤x...x.xx ");
	    	document.getElementById('empbond').focus();
	    	return false;
	    }
	}

</script>
</head>
<body>
<form action="get.jsp" method="post" name="emp">
	僱員編號:<input type="number" id="empno" name="empno"><br>
	僱員姓名:<input type="text" id="empname" name="empname"><br>
	僱員工作:<input type="text" id="empjob" name="empjob"><br>
	僱傭日期:<input type="text" id="empdate" name="empdate"><br>
	基本工資:<input type="number" id="empsal" name="empsal"><br>
	獎&nbsp;&nbsp;&nbsp;金:<input type="number" id="empbond" name="empbond"><br>
	<input type="submit" value="提交" onclick="check()"><input type="reset" value="重置"><br>
</form>
</body>
</html>
package demo;

public class SimpleBean {

	private String empno;
	private String empname;
	private String empjob;
	private String empdate;
	private String empsal;
	private String empbond;
	public String getEmpno() {
		return empno;
	}
	public void setEmpno(String empno) {
		this.empno = empno;
	}
	public String getEmpname() {
		return empname;
	}
	public void setEmpname(String empname) {
		this.empname = empname;
	}
	public String getEmpjob() {
		return empjob;
	}
	public void setEmpjob(String empjob) {
		this.empjob = empjob;
	}
	public String getEmpdate() {
		return empdate;
	}
	public void setEmpdate(String empdate) {
		this.empdate = empdate;
	}
	public String getEmpsal() {
		return empsal;
	}
	public void setEmpsal(String empsal) {
		this.empsal = empsal;
	}
	public String getEmpbond() {
		return empbond;
	}
	public void setEmpbond(String empbond) {
		this.empbond = empbond;
	}
	
}
<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ page import="demo.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>獲取表單</title>
</head>
<%	request.setCharacterEncoding("GBK"); %>
<body>
<%
	SimpleBean simple = new SimpleBean();
	simple.setEmpno(request.getParameter("empno"));
	simple.setEmpname(request.getParameter("empname"));
	simple.setEmpjob(request.getParameter("empjob"));
	simple.setEmpdate(request.getParameter("empdate"));
	simple.setEmpsal(request.getParameter("empsal"));
	simple.setEmpbond(request.getParameter("empbond"));	
%>
<h3>僱員編號:<%=simple.getEmpno() %></h3>
<h3>僱員姓名:<%=simple.getEmpname() %></h3>
<h3>僱員工作:<%=simple.getEmpjob() %></h3>
<h3>僱傭日期:<%=simple.getEmpdate() %></h3>
<h3>基本工資:<%=simple.getEmpsal() %></h3>
<h3>獎&nbsp;&nbsp;&nbsp;金:<%=simple.getEmpbond() %></h3>

</html>

實驗結果如下: