请问老师我的代码哪里出错了?
WebContent目录下的index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>正则表达式测试</title> </head> <body> <div id="err" style="color:red;"></div> <form id="frminfo" action="#" method="post"> <div> 用户名:<input class="text" id="name" name="name"> </div> <div> 身份证号:<input class="text" id="idno" name="idno"> </div> <div> 密码:<input type="password" class="text" id="pass" name="word"> </div> <div> <input type="submit" value="提交"/> </div> </form> <script type="text/javascript" src="js/jquery-3.4.1.js"></script> <script type="text/javascript"> //给表单设置表单提交事件 $("#frminfo").submit(function(){ //在js中定义正则表达式对象格式:“/正则表达式/” var regexes=[/^[\u4e00-\u9fa5]{2,8}$/,/^[1-68]\d{16}[0-9xX]$/, /^\w{6}$/]; //用于存储错误提示信息 var messages=["无效的姓名<br/>","无效的身份证号<br/>","无效的密码<br/>"]; //获取表单输入项 var inputs=document.getElementsByClassName("text"); //用于检测所有表单数据是否验证成功 var count=0; //验证表单数据 for(var i in inputs){ if(regexes[i].test(inputs[i].value)==false){ count++; $("#err").append(messages[i]); } } if(count>0){ //表示不提交表单数据 return false; } else{ alert("验证成功,准备提交表单数据"); return true; } }); </script> </body> </html>
启动tomcat服务器之后,运行代码,填写正确表单数据:
没有弹出提示框
输入错误的数据,id为“err”的div的错误提示信息只是闪了一下,就没有了
有什么解决的办法呢?
15
收起
正在回答
2回答
同学你好,
1、for循环适用于遍历数组。
2、for in循环适用于遍历数组里面的存放的对象。
for/in不适用于迭代对象的属性。如果迭代对象的属性这意味着它将返回对象的所有可迭代属性。也就是如果使用for in循环遍历数组时,有时除了会遍历数组元素外,还会遍历内部自定义属性。举个例子,如果对象中有一个可遍历的属性myArray[i].name,循环将额外执行,遍历到名为“name”的索引,就会出现错误。
所以建议在进行遍历数组时,使用for循环遍历。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
2. 从网页搭建入门JavaWeb
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星