百度知道中的一个提问,关于js的,内容不错,可以留着以后用

 

<%@ 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判断逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值