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

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

<!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

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕柯南 2019-12-20 15:34:08

同学你好!

1. 你的代码报错了

http://img1.sycdn.imooc.com//climg/5dfc77610956976a19200145.jpg

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

http://img1.sycdn.imooc.com//climg/5dfc778709db0d5e07280162.jpg

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

http://img1.sycdn.imooc.com//climg/5dfc794d099ed8a807390430.jpg

改为regex2就可以

http://img1.sycdn.imooc.com//climg/5dfc796a09b2b38806370096.jpg

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


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码