在前端表单中进行验证

下面是前端表单代码
 1 <form onsubmit="return checkFrom()" action="index2.html">
 2     名称:<input type="text" id="name" onblur="checkName()">
 3          <span id="names"></span><br>
 4     姓氏:<input  type="text" id="first"   onblur="checkFirst()">
 5         <span id='firsts'></span><br>
 6     用户名:<input  type="text" id="username" onblur="checkUser()">
 7         <span id="users"></span><br>
 8     密码:<input  type="password" id="pwd" onblur="checkForm()">
 9         <span id="pwds"></span><br>
10     验证密码:<input  type="password" id="repwd" onblur="checkRepwd()">
11         <span id="repwds"></span><br>
12     Email:<input type="email" id="email" onblur="checkEmail()">
13         <span id="emails"></span><br>
14     电话:<input  type="tel" id="tel" onblur="checkTel()">
15     <span id="tels"></span><br>
16     请同意我们的声明 :<input type="checkbox" id="agree"><br>
17     我乐意结束新信息:<input  type="checkbox" class="news" checked="checked">Market 
18                    <input  type="checkbox" class="news"  checked="checked">Latest
19                    <input  type="checkbox" class="news">Mailing 
20                    <input  type="checkbox" class="news">Market 
21                    <br>
22     <input  type="submit" value="提交">    
23     </form>

下面是js验证代码

  1 <script>
  2     //名字不得为空,2-3位汉字
  3 function checkName() {
  4     var name = $("#name").val();
  5     var ptname = /^[\u4e00-\u9fa5]{2,3}$/
  6     console.log(name);
  7     if (name == "") {
  8         $("#names").html("用户名不能为空");
  9         $("#names").css("color", 'red');
 10         return false;
 11     } else if (ptname.test(name) == false) {
 12         $("#names").html("用户名必须为2-3位汉字");
 13         $("#names").css("color", 'red');
 14         return false;
 15     } else {
 16         $("#names").html("√");
 17         $("#names").css("color", 'green');
 18         return true;
 19     }
 20 }
 21 //姓氏验证
 22 function checkFirst(){
 23     var first = $("#first").val();
 24     var ptfirst = /^[\u4e00-\u9fa5]$/
 25     console.log(first);
 26     if (first == "") {
 27         $("#firsts").html("姓氏不能为空");
 28         $("#firsts").css("color", 'red');
 29         return false;
 30     } else if (ptfirst.test(first) == false) {
 31         $("#firsts").html("姓氏必须为1位汉字");
 32         $("#firsts").css("color", 'red');
 33         return false;
 34     } else {
 35         $("#firsts").html("√");
 36         $("#firsts").css("color", 'green');
 37         return true;
 38     }
 39 }
 40 //用户名不得为空,5-10位字符,不得以数字和下划线开头
 41 function checkUser() {
 42     var username = $("#username").val();
 43     var ptuser = /^[a-zA-Z]\w{4,9}$/;
 44     var ptuser = /^[^0-9_]\w{4,9}$/
 45     if (username == "") {
 46         $("#users").html("用户名不能为空");
 47         $("#users").css("color", 'red');
 48         return false;
 49     } else if (ptuser.test(username) == false) {
 50         $("#users").html("用户名格式不正确");
 51         $("#users").css("color", 'red');
 52         return false;
 53     } else {
 54         $("#users").html("√");
 55         $("#users").css("color", 'green');
 56         return true;
 57     }
 58 }
 59 //验证密码
 60 function checkForm() {
 61     var pwd = $("#pwd").val(); //获取表单的value值
 62     var pt1 = /^\w{6,}$/; //数字、字母、下划线6位以上
 63     var pt2 = /[a-z]/; //必须有小写字母
 64     var pt3 = /[A-Z]/; //必须有大写字母
 65     var pt4 = /[0-9]/; //必须有数字
 66     var pt5 = /_/; //必须有下划线
 67     if (pt1.test(pwd) == false || pt2.test(pwd) == false || pt3.test(pwd) == false || pt4.test(pwd) == false || pt5.test(
 68             pwd) == false) {
 69         $("#pwds").html("用户名必须为数字、大写字母、小写字母、下划线组成6位以上");
 70         $("#pwds").css('color', 'red')
 71         return false;
 72     } else {
 73         $("#pwds").html("√");
 74         $("#pwds").css('color', 'green')
 75         return true;
 76     }
 77 }
 78 //验证确认密码
 79 function checkRepwd() {
 80     var pwd = $("#pwd").val(); //获取密码
 81     var repwd = $("#repwd").val(); //获取确认密码
 82     if (pwd != repwd) {
 83         $("#repwds").html("确认密码与密码不一致");
 84         $("#repwds").css("color", 'red');
 85         return false;
 86     } else {
 87         $("#repwds").html("√");
 88         $("#repwds").css("color", 'green');
 89         return true;
 90     }
 91 }
 92 //邮箱验证
 93 function checkEmail() {
 94     var email = $("#email").val();
 95     /*9080@qq.com  12313@163.com*/
 96     /*     \w[数字字母下划线]+至少一次至多不限 .在正则中有特殊的函数 所以需要转义 */
 97     var ptemail = /^\w+@\w+\.com$/;
 98     if (ptemail.test(email) == false) {
 99         $("#emails").html("邮箱格式不正确");
100         $("#emails").css("color", 'red');
101         return false;
102     } else {
103         $("#emails").html("√");
104         $("#emails").css("color", 'green');
105         return true;
106     }
107 }
108 //验证电话
109 function checkTel() {
110     var tel = $("#tel").val();
111     var pttel = /^1[35789][0-9]{9}$/;
112     if (pttel.test(tel) == false) {
113         $("#tels").html("手机号码格式不正确");
114         $("#tels").css("color", 'red');
115     } else {
116         $("#tels").html("√");
117         $("#tels").css("color", 'green');
118     }
119 }
120 //表单验证
121 function checkFrom() {
122     var len = $(".news:checked").length;
123     if (len < 2) {
124         alert("爱好至少选择两个");
125         return false; //终止表单提交
126     }
127     if (checkName() == false ||checkUser()==false || checkUser() == false || checkForm() == false || checkRepwd() == false || checkEmail() ==false || checkTel() == false){
128         return false;
129     }
130 }
131 </script>

 

posted @ 2023-03-09 17:10  还好阿卡  阅读(55)  评论(0编辑  收藏  举报