跪求java web中表单验证的代码,也就是注册页面的姓名等信息的验证

zichuanxiu386295670 2011-09-09 10:05:56
我是一个培训机构的在校学生,刚学完javaSE基础部分跟SQL 现在刚刚进入web 但是在这块遇到很多问题

常常就是代码看的懂,但是自己写不出来,自己真正动手的时候会遇到很多的问题

跪求大神的源代码。课程进度太快 都跟不上了
...全文
569 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
baillluu 2011-09-12
  • 打赏
  • 举报
回复
表单验证很简单,以后你就会觉得很简单了,因为你现在才开始学!
就像你起刚初学J2SE时,觉得很多不懂,可是现在学完了,发现很多东西很容易!
kingfish 2011-09-12
  • 打赏
  • 举报
回复
不知道楼主要的是页面验证,还是后台验证,还是都要...总之这方面都不难,建议楼主要相信自己,多百度,网上一堆资料可以参考的,而且一般的javaweb的书都会有,实在不行再发帖求助...不必着急跟不上,静下心,勤打代码,多用点心,该来的都回来的,一切都会慢慢变好的...ps:我也刚出道,不是高手,勿喷...
xxy_aldrich 2011-09-11
  • 打赏
  • 举报
回复
<input type="text" name="sInsSn" id="sInsSn" class="inputbox btn_d" value="${sInsSn}" eleName="保险单号" checkValue="isValid;"/>
这个是jsp里加的自定义attribute
if(checkElements(document.frmMain)=='N')
return false;
取form表单整个验证。。。。另外祝lz中秋快乐。。。
xxy_aldrich 2011-09-11
  • 打赏
  • 举报
回复
另外截个我们项目中常用的js验证。。。

var NOT_NULL = "notNull";
var IS_CHAR = "isChar";
var IS_LONG = "isLong";
var IS_DOUBLE = "isDouble";
var IS_EMAIL = "isEmail";
var ELENGTH = "eLength";
var IS_VALID = "isValid";
var IS_REG_ACCOUNT = "isRegAccount";

var msgArray = new Array(
"密码更改成功!"
,"不能为空,请输入!"
,"输入不对,请重新输入!"
,"长度过长,请重新输入!"
,"含有非法字符!"
);

function checkElements(objForm){
for(inti=0;inti<objForm.elements.length;inti++){
var objEle = objForm.elements[inti];
if (objEle.getAttribute("checkValue") != null && objEle.getAttribute("checkValue")+"" != "undefined"
&& (objEle.type+"" == "text" || objEle.type+"" == "password"||objEle.type+"" == "file" || objEle.type+""== "textarea" )){

var checkValues = objEle.getAttribute("checkValue").split(";");

for(intj=0;intj<checkValues.length;intj++){
if (checkValues[intj] == NOT_NULL && objEle.value == ""){
alert(objEle.getAttribute("eleName") + msgArray[1]);
objEle.focus();
return "N";
}
else if (checkValues[intj] == IS_CHAR){
if (!is_en_int_number(objEle.value)){
alert(objEle.getAttribute("eleName") + msgArray[2]);
objEle.focus();
return "N";
}
}
else if (checkValues[intj] == IS_LONG){
if (!is_int_number(objEle.value)){
alert(objEle.getAttribute("eleName") + msgArray[2]);
objEle.focus();
return "N";
}
}
else if (checkValues[intj] == IS_DOUBLE){
if (!is_float_number(objEle.value)){
alert(objEle.getAttribute("eleName") + msgArray[2]);
objEle.focus();
return "N";
}
}
else if (checkValues[intj] == IS_EMAIL){
if (!is_valid_email(objEle.value)){
alert(objEle.getAttribute("eleName") + msgArray[2]);
objEle.focus();
return "N";
}
}
else if (checkValues[intj] == IS_VALID){
if (!isValid(objEle.value)){
alert(objEle.getAttribute("eleName") + msgArray[4]);
objEle.focus();
return "N";
}
}
else if (checkValues[intj] == IS_REG_ACCOUNT){
if (!regAccountIsTrue(objEle.value)){
alert(objEle.getAttribute("eleName") + msgArray[2]);
objEle.focus();
return "N";
}
}
var elengths = checkValues[intj].split(":");
if (elengths[0] == ELENGTH){
var elengths1 = JHshStrLen(objEle.value);
if ( elengths1 > elengths[1]){
alert(objEle.getAttribute("eleName") + msgArray[3]);
objEle.focus();
return "N";
}
}
}
}
}

return "Y";
}

function JHshStrLen(sString){
var sStr,iCount,i,strTemp ;
iCount = 0 ;
sStr = sString.split("");
for (i = 0 ; i < sStr.length ; i ++){
strTemp = escape(sStr[i]);
if (strTemp.indexOf("%u",0) == -1){ // 表示是汉字
iCount = iCount + 1 ;
}else{
iCount = iCount + 2 ;
}
}
return iCount ;
}

function is_en_int_number(snumber){
var result = true;
var reMobileNo=/^(\w|-)+$/;
if (snumber!=null && snumber!='') {
if (!reMobileNo.test(snumber))
result = false;
}
return result;
}

function is_int_number(snumber){
var result = true;
var reMobileNo=/^-{0,1}(\d)+$/;
if (snumber!=null && snumber!='') {
if (!reMobileNo.test(snumber))
result = false;
}
return result;
}

function is_float_number(snumber){
var result = true;
var reMobileNo=/^-{0,1}(\d)+\.{0,1}(\d)+$/;
if (snumber!=null && snumber!='') {
if (!reMobileNo.test(snumber))
result = false;
}
return result;
}

function is_valid_email(snumber) {
if(!(snumber == null || snumber == "")){
if (!/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(snumber)){
return (false);
}
}
return (true);
}
//==========================以下普通校验===========================================
function go(id){
return document.getElementById(id);
}
function mobileIsTrue(str) {
var result = false;
var reMobileNo=/^(13|15|18)(\d){9}$/;
if (str!=null && str!='') {
if (reMobileNo.test(str))
result = true;
}
return result;
}
function phoneIsTrue(str) {
var result = false;
var reMbPhoneNo=/^(\d){3,4}-(\d){7,8}$/;
if (str!=null && str!='') {
if (reMbPhoneNo.test(str))
result = true;
}
return result;
}
function qqIsTrue(str) {
var result = false;
var reQQNo=/^[1-9](\d){4,11}$/;
if (str!=null && str!='') {
if (reQQNo.test(str))
result = true;
}
return result;
}
function birthdayNoIsTrue(str) {
var result = false;
var reBirthdayNo = /^((19|20)\d{2}[-](0[1-9]|1[0-2])[-](0[1-9]|[1-2]\d|3[0-1]))$/;
if (str!=null && str!='') {
if(reBirthdayNo.test(str))
result = true;
}
return result;
}
function cardNoIsTrue(str) {
var result = false;
var reCardNo = /^(\d{8}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}|\d{6}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}(\d|X))$/;
if (str!=null && str!='') {
if(reCardNo.test(str.toUpperCase()))
result = true;
}
return result;
}
function toNumeric(aNum) {
var result = aNum * 1;
if (!(result>=0))
result = 0;
return result;
}
//防sql注入
function isValid(str){
var result = true;
var re=/select|update|delete|exec|count|insert|drop|'|"|=|;|>|<|%/i;
if(str!=null&&str!=''){
var str = str.toLowerCase();
if(re.test(str))
result = false;
}
return result;
}
//注册帐号,字母开始,包含字母,数字,下划线 字母或数字结尾
function regAccountIsTrue(str){
var result = false;
var re = /^([a-zA-Z](\w*[a-zA-Z0-9]){0,1})$/;
if(str!=null && str!=''){
if(re.test(str))
result = true;
}
return result;
}
xxy_aldrich 2011-09-11
  • 打赏
  • 举报
回复
lz到后面可以学学正则表达式,我们一般都是自己写,传个form表单进去,然后取自定义的attribute,针对每个不同的attribute,调用函数验证,函数中用正则表达式验证。。。
Zeus 2011-09-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 zichuanxiu386295670 的回复:]
我是一个培训机构的在校学生,刚学完javaSE基础部分跟SQL 现在刚刚进入web 但是在这块遇到很多问题

常常就是代码看的懂,但是自己写不出来,自己真正动手的时候会遇到很多的问题

跪求大神的源代码。课程进度太快 都跟不上了
[/Quote]还有啊,现在求代码对你没有多少用处。
还有可否告诉我你的年龄,学历,因为我也想找学校再学一下。
Zeus 2011-09-10
  • 打赏
  • 举报
回复
你是不是要validation啊。 你到网是查查看。。
如果是的话要多给我点分哦。
yekangjin 2011-09-09
  • 打赏
  • 举报
回复
这是个很简单的登陆界面以及实现到数据库去的验证....楼主自己参考 是login.jsp...上面打错了
yekangjin 2011-09-09
  • 打赏
  • 举报
回复
ok.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<title>成功界面</title>
</head>
<body>
登录成功!
</body>
</html>
conn.jsp
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/student?user=root&password=root";
String user="root";
String password="root";
Connection dbConn=DriverManager.getConnection(url,user,password);
Statement stmt=dbConn.createStatement();
//String strSql="select * from users";
//ResultSet rs=stmt.executeQuery(strSql);
%>
<%
%>
</body>
</html>
yekangjin 2011-09-09
  • 打赏
  • 举报
回复
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登陆页面</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">
-->
</head>

<body>
<div align="center" style=" margin-top:100px;">
<form id="form" name="form" method="post" action="login1.jsp">
<p>
<label >用户ID:
<input name="uname" type="text" id="username" size="15" /></label>
</p>
<p>
<label>密  码:
<input name="pwd" type="password" id="password" size="15" /></label>
</p>
<label><input name="" type="submit" value="登陆" /></label>
</form>
</div>
</body>
</html>

lohin.jsp
<%@ include file="conn.jsp"%>
<%request.setCharacterEncoding("GB2312");
String uname =request.getParameter("uname");
String pwd = request.getParameter("pwd");
//String usertype = request.getParameter("usertype");
//String adminvalue="person";
//if(adminvalue.equals(usertype))
//{
String sql="select * from persion where uname='"+uname+"' and pwd='"+pwd+"' ";
ResultSet rs=stmt.executeQuery(sql);
if(!rs.next()){
response.sendRedirect("error.jsp");
//out.print("javascript:history.go(-1)</SCRIPT>");
}else{
session.putValue("puid", uname);
response.sendRedirect("ok.jsp");
} %>
error.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<html>
<head>
<title>失败界面</title>
</head>
<body>
<p>登录失败!</p>
<p><a href="index.jsp">重新登录</a></p>
</body>
</html>
softroad 2011-09-09
  • 打赏
  • 举报
回复
没的,自己学吧。
  • 打赏
  • 举报
回复
楼上 我加你好友了,这两天刚学JSP 上课睡觉了 一个会话跟踪都快把人整死了 有全套的代码吗? 就是从用户名到 密码这些 在详细点 复制的都行
softroad 2011-09-09
  • 打赏
  • 举报
回复
<input type="text" id="username">


var username = document.getElementById("username").value;

if(username == "") {
alert("error username!");
return;
}

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧