JorunoJobana 2021-06-18 12:32 采纳率: 100%
浏览 41
已采纳

我点确认之后直接跳转了并没有判断是怎么了

求大神指导

我想点过确认后会有提示哪个写错但是这只要我输入就直接判断并且在输入框后边出现点确认就直接跳转了

我的js

<script > 
function checkUser(){
  var user=document.getElementById("user")
  var reg=/^[a-zA-Z][a-zA-Z0-9]{3,15}$/;    
    if(reg.test(user)==false){
       alert("姓名输入错误")
    return false;
      }
      return true;
    }
function checkEmail(){
  var email=document.getElementById("email")
  var reg=/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;    
    if(reg.test(email)==false){
      alert("Email格式不正确,例如web@sohu.com");
    return false;
      }
      return true;
}
function checkMobile(){
    var mobile=document.getElementById("mobile")
    var regMobile=/^1\d{10}$/;
    if(regMobile.test(mobile)==false){
        alert("手机号码不正确,请重新输入");
        return false;
        }
        mobileId.innerHTML="";
        return true;
    }
    function address(){
    var address=document.getElementById("address")
    var regaddress=/[A-Za-z]{1,60}$/;
    if(regMobile.test(mobile)==false){
        alert("手机号码不正确,请重新输入");
        return false;
        }
        mobileId.innerHTML="";
        return true;
    }
    function a(){
        checkUser()
        checkEmail()
        checkMobile()
      
    }
    </script>

我html部分

<table class="main" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td class="hr_1">用户信息添加与修改</td>
      </tr>
      <tr>
        <td style="height:10px;"></td>
      </tr>
      <form action="user.html" method="post" name="myform" onsubmit="return a()">
      <tr>
        <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td class="left">姓名:</td>
        <td class="center"><input id="user" type="text" /></td>
        <td><div id="user_prompt">输入汉字</div></td>
      </tr>
       <tr>
        <td class="left">电子邮箱:</td>
        <td class="center"><input id="email" type="text" /></td>
        <td><div id="email_prompt">请正确输入邮箱格式</div></td>
      </tr>
        <tr>
        <td class="left">手机号码:</td>
        <td class="center"><input id="mobile" type="text"  /></td>
        <td><div id="mobile_prompt">请输入11位手机号</div></td>
      </tr>
      <tr>
        <td class="left">地址:</td>
        <td class="center"><input id="address" type="text"  /></td>
        <td><div id="mobile_prompt">不超过60个字符</div></td>
      </tr>
      <tr>
          <td class="left">状态</td>
        <td><select id="p" size="1" style="text-align: center ">
            <option  >全部</option> 
            <option  >启用</option> 
            <option   >禁用</option> 
            </select></td>
      </tr>
       <tr>
         <td class="left">&nbsp;</td>
         <td class="center"><input name="" type="submit"  value="确认"/>
            <input type="button" value="取消"onclick="javascrtpt:window.location.href='user.html'"></td>
         <td>&nbsp;</td>
       </tr>
    </table>
    </td>
      </tr>
      </form>
    </table>
  • 写回答

2条回答 默认 最新

  • 风雪一更 2021-06-18 13:57
    关注

    你需要在函数内return false之后,把这个函数的值return出来,地址验证那边你写了mobile,我也顺手改了,代码你拿去试下:

    <script> 
    function checkUser(){
    	var user=document.getElementById("user").value
    	var reg=/^[a-zA-Z][a-zA-Z0-9]{3,15}$/;    
        if(reg.test(user)==false){
    		alert("姓名输入错误")
    		return false;
        }
        return checkEmail();
    }
    function checkEmail(){
    	var email=document.getElementById("email").value
    	var reg=/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;    
        if(reg.test(email)==false){
    		alert("Email格式不正确,例如web@sohu.com");
    		return false;
        }
        return checkMobile();
    }
    function checkMobile(){
        var mobile=document.getElementById("mobile").value
        var regMobile=/^1\d{10}$/;
        if(regMobile.test(mobile)==false){
            alert("手机号码不正确,请重新输入");
    		mobileId.innerHTML="";
            return false;
        }
        return address();
    }
        function address(){
        var address=document.getElementById("address").value
        var regaddress=/[A-Za-z]{1,60}$/;
        if(regaddress.test(address)==false){
            alert("地址不正确,请重新输入");
    		mobileId.innerHTML="";
            return false;
        }
        return true;
    }
        function a(){
            return checkUser();
        }
        </script>
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析
  • ¥200 sqlite3数据库设置用户名和密码
  • ¥15 AutoDL无法使用docker install吗?
  • ¥15 cups交叉编译后移植到tina sdk的t113,只需要实现usb驱动打印机,打印pdf文件
  • ¥30 关于#wireshark#的问题:需要网络应用流量数据集需要做长度序列的实验,需要与应用产生的会话的数据包的长度,如视频类或者聊天类软件
  • ¥15 根据上述描述表示泥浆密度沿着管路的长度方向在不断变化,如何来表示泥浆密度随管路的变化(标签-matlab|关键词-流计算)
  • ¥21 matlab可以把图像数据转换为小波分析吗