实现一个表单验证
1.当输入框失去焦点时,验证输入的内容是否符合要求
2.当点击注册按钮时,判断所有输入框的内容是否都符合要求,如果不符合要求阻止表单提交
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>欢迎注册title>
- head>
- <body>
- <h1>欢迎注册h1>
- <form action="#" id="register">
- <table>
- <tr>
- <td>用户名td>
- <td>
-
- <input type="text" name="username" id="username" >
-
- <span id="uwername_err" style="display: none;" >用户名不符合规则span>
- td>
- tr>
- <tr>
- <td>密码td>
- <td>
- <input type="password" name="password" id="password">
- <span id="password_err" style="display: none;" >密码不符合规则span>
- td>
- tr>
- <tr>
- <td>电话td>
- <td>
- <input type="text" name="tel" id="tel">
- <span id="tel_err" style="display: none;" >电话不符合规则span>
- td>
- tr>
- table>
- <input type="button" value="提交">
- form>
-
-
- body>
- html>
<tr> <td>用户名td> <td> <input type="text" name="username" id="username" onblur="checkUsername()"> <span id="uwername_err" style="display: none;" >用户名不符合规则span> td> tr>checkUsername函数的实现
<script> function checkUsername() { //获取用户框输入的值 let usernameValue= document.getElementById("username").value; //创建正则对象 // let regex=new RegExp("^\\w{6,10}$"); let regex=/^\w{6,10}$/; //判断输入的值是否符合正则 if(regex.test(usernameValue)){ //重现设置为隐藏 document.getElementById("uwername_err").style.display="none"; return true; }else{ //不满足,把用户名的span标签显示出来 document.getElementById("uwername_err").style.display="block"; document.getElementById("uwername_err").style.color="red"; //阻止表单提交 return false; } } script>结果:
<tr> <td>密码td> <td> <input type="password" name="password" id="password" onblur="checkPassword()"> <span id="password_err" style="display: none;" >密码不符合规则span> td> tr>checkPassword函数
<script> function checkPassword(){ //获取密码框输入的值 let passwordValue=document.getElementById("password").value; //创建正则对象 let regex=/^.{6,12}$/; //判断是否满足 if(regex.test(passwordValue)){ //满足,把密码的span标签内容隐藏 document.getElementById("password_err").style.display="none"; //提交表单 return true; }else{ //不满足 document.getElementById("password_err").style.display="block"; document.getElementById("password_err").style.color="red"; return false; } } script>
<tr> <td>电话td> <td> <input type="text" name="tel" id="tel" onblur="checkTel()"> <span id="tel_err" style="display: none;" >电话不符合规则span> td> tr>checkTel函数
<script> function checkTel(){ //获取电话框输入的值 let telValue=document.getElementById("tel").value; //创建正则对象 let regex=/^1[3-9]\d{9}$/; if(regex.test(telValue)){ document.getElementById("tel_err").style.display="none"; return true; }else{ //不满足 document.getElementById("tel_err").style.display="block"; document.getElementById("tel_err").style.color="red"; return false; } } script>
<script> //给form表单绑定提交事件 document.getElementById("register").onsubmit=function(){ //三个框只要有一个非法就组织表单提交 return checkPassword()&&checkTel()&&checkUsername(); } script>说明:onsubmit的匿名函数返回false就不提交数据
结果:有一个不符合,就不提交数据
说明:全部符合,才提交数据
1.在页面打开控制台
2.打开源代码