<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>人力资源管理系统--系统管理</title>
<link type="text/css" rel="stylesheet" href="css/style.css">
</head>
<script type="text/javascript">
function insertManager() {
var username =document.managerForm.username.value;
var password = document.managerForm.password.value;
var newpassword = document.managerForm.newpassword.value;
if(username=="") {
alert("用户名不能为空");
managerForm.username.focus();
return false;
}
else if( /^/d.*$/.test( username ) ){
alert("用户名不能以数字开头");
managerForm.username.focus();
return false;
}
else if(username.length<6 || username.length>18 ){
alert("用户名合法长度为6-18个字符");
managerForm.username.focus();
return false;
}
else if(! /^/w+$/.test( username ) ){
alert("用户名只能包含_,英文字母,数字");
managerForm.username.focus();
return false;
}
else if(! /^([a-z]|[A-Z])[0-9a-zA-Z_]+$/.test( username ) ){
alert("用户名只能英文字母开头");
managerForm.username.focus();
return false;
}
else if(!(/[0-9a-zA-Z]+$/.test( username ))){
alert("用户名只能英文字母或数字结尾");
managerForm.username.focus();
return false;
}
else if(username.indexOf(' ') != -1){
alert("用户名中不能有空格");
managerForm.username.focus();
return false;
}
else if(password==""){
alert("请输入密码");
managerForm.password.focus();
return false;
}
else if(password.length<6 || password.length>18){
alert("密码合法长度为6-18个字符");
managerForm.password.focus();
return false;
}
else if(newpassword==""){
window.alert("请输入确认密码");
managerForm.newpassword.focus();
return false;
}
else if(password!=newpassword){
window.alert("您输入的新密码与确认密码确认不一致");
managerForm.newpasswod.focus();
return false;
}
return true;
}
</script>
问题补充:
我用的就是οnsubmit="return insertManager()" 其它验证不通过都不会提交,
密码不一致分两种情况:
第一种:
验证到第一次密码合法,而第二次密码与第一次密码不一样的时候会提交。
第二种:
验证到第一次密码不合法,而第二次密码不管填什么都不会提交,只是提示第一次的密码不合法,这挺好理解,js检测到这里就返回了
为什么第一种就不可以呢??
你可以在表单的onsubmit加上return false;
οnsubmit="insertManager();return false;"
在这个函数里面用managerForm.submit();来提交
或者用οnsubmit="return insertManager();"
“验证到第一次密码合法,而第二次密码与第一次密码不一样的时候会提交。”
这里是不是有逻辑问题,应该是不提交吧。
既然提交了,说明你某个判断逻辑不对,正则那块。你检查一下
还有一种办法就是所有的字段都输入一次不合法的信息,检测一下你的每个if判断逻辑