是一个注册表单
要求呢称为 5-10位的 字母或者数字
密码也是一样
但是我写了下面的代码后
有些验证虽然出错没,但是他还是submit了,已经试验过很多次了
还是没解决掉,哪为能帮我仔细看哈子吗?
谢谢了
<%@page contentType="text/html; charset=gb2312" import="java.util.*"%>
<jsp:useBean id="userbean" scope="request" class="school.UserBean"></jsp:useBean>
<LINK href="css/main.css" type=text/css rel=stylesheet>
<html>
<!--
if(document.regist.name.value!=""){
var v=document.regist.name.value;
for(i=0;i<v.length;i++){
if(!((v.charCodeAt(i)>=48&&v.charCodeAt(i)<=57)||(v.charCodeAt(i)>=65&&
v.charCodeAt(i)<=90)||(v.charCodeAt(i)>=97&&v.charCodeAt(i)<=122)))
{ window.alert("呢称只能由数字和字母组成");
document.regist.name.focus();
break;
}
}
}
if(!(v.length>=5&&v.length<=10)){
windows.alert("呢称至少5位最多10位");
document.regist.password.focus();
return false;
}
if(document.regist.password.value!=""){
var v=documentregist.password.value;
if(!(v.length>=5&&v.length<=10))
window.alert("密码至少5位至多10位");
return false;
}
if(!(v.length>=5&&v.length<=10)){
windows.alert("呢称至少5位最多10位");
document.regist.password.focus();
return false;
}
-->
<script language="JavaScript" type="text/javascript">function chk()
{
if(document.regist.name.value=="")
{
window.alert("请输入呢称!");
document.regist.name.focus();
return false;
}
if(document.regist.name.value!=""){
var v=document.regist.name.value;
for(i=0;i<v.length;i++){
if(!((v.charCodeAt(i)>=48&&v.charCodeAt(i)<=57)||(v.charCodeAt(i)>=65&&
v.charCodeAt(i)<=90)||(v.charCodeAt(i)>=97&&v.charCodeAt(i)<=122)))
{ window.alert("呢称只能由数字和字母组成");
document.regist.name.focus();
return false;
}
}
}
if(document.regist.name.value.length<5||document.regist.name.value.length>10){
window.alert("呢称应该为5-10位");
return false;
}
if(document.regist.realname.value=="")
{
window.alert("请输入真实姓名!");
document.regist.realname.focus(); return false;
}
if(document.regist.realname.value!=""&&(document.regist.realname.length<5||document.realname.value.length>10)){
window.alert("密码应该为5-10位");
document.regist.realname.focus();
return false;
}
if(document.regist.password.value=="")
{
window.alert("请输入密码!");
document.regist.password.focus();
return false;
}
if(document.regist.password.value==""&&(document.regist.password.value.length<5||document.regist.password.value.length>10)){
window.alert("密码应该为5-10位");
document.regist.password.focus();
return false;
}
if(document.regist.confi.value=="")
{
window.alert("请确认密码!");
document.regist.confi.focus();
return false;
} if(document.regist.year.value!="")
{
tmp = regist.year.value;
num = parseInt(tmp);
if (tmp == "" || isNaN(num) ) {
alert("年份必须是四位数字");
document.regist.year.focus();
return false;
}
}
if(document.regist.day.value!="")
{
tmp = regist.day.value;
num = parseInt(tmp);
if (tmp == ""||tmp.length>2 || isNaN(num) ) {
alert("日期必须是1-2位数字");
document.regist.day.focus();
return false;
}
}
if(document.regist.check.value=="")
{
window.alert("请输入验证码!");
document.regist.check.focus();
return false;
}
if(document.regist.check.value!=""&&(document.regist.check.value!=document.regist.ck.value)){
window.alert("请输入验证码!");
document.regist.check.focus();
return false;
}
return true;
}
</script>
<head>
<title>注册</title>
</head>
<body bgcolor="#ffffff">
<form action="register_do.jsp" method="POST" name="regist">
<table width=60% id="register" align="center">
<tr>
<td colspan="3">
<%@include file="header.jsp"%>
</td>
</tr>
<tr>
<td>呢称</td>
<td>
<input type="text" name="name"/>*
</td>
<td>5-10位数字或中文</td> <tr>
<td>真实姓名</td>
<td>
<input type="text" name="realname"/>*
</td>
<td>用于注册确认信息,请准确填写</td> <tr>
<td>设置密码</td>
<td>
<input type="text" name="password"/>*
</td>
<td>5-10位数字或者字母</td>
</tr>
<tr>
<td>确认密码</td>
<td>
<input type="text" name="confi"/>
</td>
<td> </td>
</tr>
<tr>
<td>输入邮箱</td>
<td>
<input type="text" name="email"/>
</td>
<td>请准确填写,以便管理员与你联系</td>
</tr>
<tr>
<td>选择界别</td>
<td>
<select name="grade">
<%
ArrayList grade = userbean.getAllGrade();
Iterator it = grade.iterator();
if (grade.size() < 1) {
}
else
while (it.hasNext()) {
String g = (String) it.next();
out.println("<option value=" + g + ">" + g + "</option>");
}
%>
</select>*
</td>
<td>用于注册确认信息,请准确填写</td>
</tr>
<tr>
<td>选择班级</td>
<td>
<select name="vclass">
<%
ArrayList av = userbean.getAllVclass();
Iterator iv = av.iterator();
if (av.size() < 1) {
}
else {
while (iv.hasNext()) {
String c = (String) iv.next();
out.println("<option value=" + c + ">" + c + "</option>");
}
}
%>
</select>*
</td>
<td>用于注册确认信息,请准确填写</td>
</tr>
<tr>
<td>生日</td>
<td>
<input type="text" size="8" name="year"/>
年
<select name="month">
<%
for (int i = 1; i < 13; i++) {
out.println("<option value=" + i + ">" + i + "</option>");
}
%>
</select>
月
<input type="text" size="4" name="day"/>
日
</td>
<td>年四位,日1-2位</td>
</tr>
<tr>
<td> </td>
<td>
<img src="image.jsp" alt="">
<input type="hidden" name="ck" value='<%=(String)session.getAttribute("rand")%>' />
</td>
</tr>
<tr>
<td>请输入验证码</td>
<td>
<input type="text" name="check"/>
</td>
</tr>
<tr>
<td colspan="3">
<input type="submit" value="确定注册" onclick="return chk()"/>
</td>
</tr>
<tr>
<td colspan="3">
<a href="mail.jsp">联系管理员</a>
</td>
</tr>
<tr>
<td colspan="3">
<%@include file="bottom.jsp"%>
</td>
</tr>
</table>
</form>
</body>
</html>
要求呢称为 5-10位的 字母或者数字
密码也是一样
但是我写了下面的代码后
有些验证虽然出错没,但是他还是submit了,已经试验过很多次了
还是没解决掉,哪为能帮我仔细看哈子吗?
谢谢了
<%@page contentType="text/html; charset=gb2312" import="java.util.*"%>
<jsp:useBean id="userbean" scope="request" class="school.UserBean"></jsp:useBean>
<LINK href="css/main.css" type=text/css rel=stylesheet>
<html>
<!--
if(document.regist.name.value!=""){
var v=document.regist.name.value;
for(i=0;i<v.length;i++){
if(!((v.charCodeAt(i)>=48&&v.charCodeAt(i)<=57)||(v.charCodeAt(i)>=65&&
v.charCodeAt(i)<=90)||(v.charCodeAt(i)>=97&&v.charCodeAt(i)<=122)))
{ window.alert("呢称只能由数字和字母组成");
document.regist.name.focus();
break;
}
}
}
if(!(v.length>=5&&v.length<=10)){
windows.alert("呢称至少5位最多10位");
document.regist.password.focus();
return false;
}
if(document.regist.password.value!=""){
var v=documentregist.password.value;
if(!(v.length>=5&&v.length<=10))
window.alert("密码至少5位至多10位");
return false;
}
if(!(v.length>=5&&v.length<=10)){
windows.alert("呢称至少5位最多10位");
document.regist.password.focus();
return false;
}
-->
<script language="JavaScript" type="text/javascript">function chk()
{
if(document.regist.name.value=="")
{
window.alert("请输入呢称!");
document.regist.name.focus();
return false;
}
if(document.regist.name.value!=""){
var v=document.regist.name.value;
for(i=0;i<v.length;i++){
if(!((v.charCodeAt(i)>=48&&v.charCodeAt(i)<=57)||(v.charCodeAt(i)>=65&&
v.charCodeAt(i)<=90)||(v.charCodeAt(i)>=97&&v.charCodeAt(i)<=122)))
{ window.alert("呢称只能由数字和字母组成");
document.regist.name.focus();
return false;
}
}
}
if(document.regist.name.value.length<5||document.regist.name.value.length>10){
window.alert("呢称应该为5-10位");
return false;
}
if(document.regist.realname.value=="")
{
window.alert("请输入真实姓名!");
document.regist.realname.focus(); return false;
}
if(document.regist.realname.value!=""&&(document.regist.realname.length<5||document.realname.value.length>10)){
window.alert("密码应该为5-10位");
document.regist.realname.focus();
return false;
}
if(document.regist.password.value=="")
{
window.alert("请输入密码!");
document.regist.password.focus();
return false;
}
if(document.regist.password.value==""&&(document.regist.password.value.length<5||document.regist.password.value.length>10)){
window.alert("密码应该为5-10位");
document.regist.password.focus();
return false;
}
if(document.regist.confi.value=="")
{
window.alert("请确认密码!");
document.regist.confi.focus();
return false;
} if(document.regist.year.value!="")
{
tmp = regist.year.value;
num = parseInt(tmp);
if (tmp == "" || isNaN(num) ) {
alert("年份必须是四位数字");
document.regist.year.focus();
return false;
}
}
if(document.regist.day.value!="")
{
tmp = regist.day.value;
num = parseInt(tmp);
if (tmp == ""||tmp.length>2 || isNaN(num) ) {
alert("日期必须是1-2位数字");
document.regist.day.focus();
return false;
}
}
if(document.regist.check.value=="")
{
window.alert("请输入验证码!");
document.regist.check.focus();
return false;
}
if(document.regist.check.value!=""&&(document.regist.check.value!=document.regist.ck.value)){
window.alert("请输入验证码!");
document.regist.check.focus();
return false;
}
return true;
}
</script>
<head>
<title>注册</title>
</head>
<body bgcolor="#ffffff">
<form action="register_do.jsp" method="POST" name="regist">
<table width=60% id="register" align="center">
<tr>
<td colspan="3">
<%@include file="header.jsp"%>
</td>
</tr>
<tr>
<td>呢称</td>
<td>
<input type="text" name="name"/>*
</td>
<td>5-10位数字或中文</td> <tr>
<td>真实姓名</td>
<td>
<input type="text" name="realname"/>*
</td>
<td>用于注册确认信息,请准确填写</td> <tr>
<td>设置密码</td>
<td>
<input type="text" name="password"/>*
</td>
<td>5-10位数字或者字母</td>
</tr>
<tr>
<td>确认密码</td>
<td>
<input type="text" name="confi"/>
</td>
<td> </td>
</tr>
<tr>
<td>输入邮箱</td>
<td>
<input type="text" name="email"/>
</td>
<td>请准确填写,以便管理员与你联系</td>
</tr>
<tr>
<td>选择界别</td>
<td>
<select name="grade">
<%
ArrayList grade = userbean.getAllGrade();
Iterator it = grade.iterator();
if (grade.size() < 1) {
}
else
while (it.hasNext()) {
String g = (String) it.next();
out.println("<option value=" + g + ">" + g + "</option>");
}
%>
</select>*
</td>
<td>用于注册确认信息,请准确填写</td>
</tr>
<tr>
<td>选择班级</td>
<td>
<select name="vclass">
<%
ArrayList av = userbean.getAllVclass();
Iterator iv = av.iterator();
if (av.size() < 1) {
}
else {
while (iv.hasNext()) {
String c = (String) iv.next();
out.println("<option value=" + c + ">" + c + "</option>");
}
}
%>
</select>*
</td>
<td>用于注册确认信息,请准确填写</td>
</tr>
<tr>
<td>生日</td>
<td>
<input type="text" size="8" name="year"/>
年
<select name="month">
<%
for (int i = 1; i < 13; i++) {
out.println("<option value=" + i + ">" + i + "</option>");
}
%>
</select>
月
<input type="text" size="4" name="day"/>
日
</td>
<td>年四位,日1-2位</td>
</tr>
<tr>
<td> </td>
<td>
<img src="image.jsp" alt="">
<input type="hidden" name="ck" value='<%=(String)session.getAttribute("rand")%>' />
</td>
</tr>
<tr>
<td>请输入验证码</td>
<td>
<input type="text" name="check"/>
</td>
</tr>
<tr>
<td colspan="3">
<input type="submit" value="确定注册" onclick="return chk()"/>
</td>
</tr>
<tr>
<td colspan="3">
<a href="mail.jsp">联系管理员</a>
</td>
</tr>
<tr>
<td colspan="3">
<%@include file="bottom.jsp"%>
</td>
</tr>
</table>
</form>
</body>
</html>
那个是不行的
我最后把验证长度的和验证 字符的加在一起ok 了
呵呵
郁闷呀
就算不使用struts,你也可以到apache下载validation框架包用到你的项目里,相信会很大的提高你的开发效率的。