无论是正确的姓名还是不正确的姓名都匹配不到

来源:2-1 JavaScript表单验证

cj啦啦啦啦

2019-12-20 11:43:01

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

<form action="#" method="post" id="frmInfo">

<div id="error" style="color: red"></div>

<div>

姓名 :<input id="name" name="name" />

</div>

<div>

身份证:<input id="idno" name="idno" />

</div>

<div>

<input type="submit" />

</div>

</form>

<script type="text/javascript">

    document.getElementById("frmInfo").onsubmit=function(){

    //在JS中定义正则表达式对象只需要在/正则表达式/

    regex1=/^[\u4e00-\u9fa5]{2,8}$/;

    regex2=/^[1234568]\d{16}[0-9xX]$/

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

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

    if(regex1.test(name)==false);{//利用正则校验数据,true代表匹配,false代表不匹配

        document.getElementById("error").innerHTML="无效姓名";

        return false;

    }

    else if(regex1.test(idno)==false){

    document.getElementById("error").innerHTML="无效身份证号";

        return false;

    }

    else{

    alert("验证通过,准备提交")

    return true;

    }

   

    }

    </script>

</body>

</html>


写回答

1回答

好帮手慕柯南

2019-12-20

同学你好!

1. 你的代码报错了

http://img.mukewang.com/climg/5dfc77610956976a19200145.jpg

 查看代码的63行前后的代码,发现你在if语句后面写了;号,导致else不匹配报错了

http://img.mukewang.com/climg/5dfc778709db0d5e07280162.jpg

2. 你的身份证的验证有误,原因是用了验证用户名的正则验证身份证

http://img.mukewang.com/climg/5dfc794d099ed8a807390430.jpg

改为regex2就可以

http://img.mukewang.com/climg/5dfc796a09b2b38806370096.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


0

0 学习 · 9666 问题

查看课程