热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javascript网站注册页面的客户端验证程序

**网站注册页面验证,本人花了将近一天的时间弄好的,希望朋友们多多提意见,进一步优化这个表单验证,下面配有详细的注释*我的QQ1659397593,欢迎朋

/*
          * 网站注册页面验证,本人花了将近一天的时间弄好的,希望朋友们多多提意见,进一步优化这个表单验证,下面配有详细的注释
          * 我的QQ1659397593,欢迎朋友和我交流
          * 注意的问题: 引用计数js代码的路径 ,本程序有3个页面组成:表单页面 注册成功页面  js代码页面 和一个通过验证的小图片组成.图片自己下载吧,网上很多的

*/
效果如如下:

//网页代码:

http://www.w3.org/TR/html4/loose.dtd">

   
       
       
       
       
   
   
       


           
                新用户注册
           

           
               
                   
                       
                       
                   
                   
                       
                       
                   
                   
                       
                       
                   
                   
                       
                       
                   
                   
                       
                       
                   
                   
                       
                       
                   
                   
                       
                       
                   
                   
                       
                       
                   
                   
                       
                   
               

                            用户名:
                       

                           
                       

                            密码:
                       

                           
                       

                            确认密码:
                       

                           
                       

                            邮箱:
                       

                           
                       

                            出生日期:
                       

                           
                       

                            性别:
                       

                           
                       

                            兴趣:
                       

                            Java HTML
       Javascript
                       

                            城市:
                       

                           
       
                       

                           
                       

           
       

   

//注册成功代码;

http://www.w3.org/TR/html4/loose.dtd">






 注册成功!

 

//js脚本代码:

window.Onload= function(){
     //通过ID或名字获取每个对象
  var usernameObj = document.getElementById("username");
  var passwordObj = document.getElementById("password");
  var cOnfirmObj= document.getElementById("confirm");
  var emailObj = document.getElementById("email");
  var birthdayObj = document.getElementById("birthday");
  var genderArr = document.getElementsByName("gender");
  var interestArr = document.getElementsByName("interest");
  var cityObj = document.getElementById("city");
  
  //设置每个对象的onblur事件(对象失去焦点时发生),并调用各自的方法
  usernameObj.Onblur= checkUsername;
  passwordObj.Onblur= checkPassword;
  confirmObj.Onblur= checkConfirm;
  emailObj.Onblur= checkEmail;
  birthdayObj.Onblur= checkBirthday;
  genderArr.Onblur= checkGender;
  interestArr.Onblur= checkInterest;
  cityObj.Onblur= checkCity;
  
  //每个onblur事件的方法,8个方法
  function checkUsername(){
   var usernameValue = trim(usernameObj.value);
   var usernameRegex = /^[a-zA-Z_]\w{0,9}$/;
   var msg ="   ";
   if(usernameValue == null || usernameValue == "")
    msg ="用户名必须填写!";
   else if(!usernameRegex.test(usernameValue))
    msg ="用户名格式不正确";
   var span = document.getElementById("usernameSpan");
   span.innerHTML = msg;
   return msg == "   ";
  }
  
  function checkPassword(){
   var passwordValue = passwordObj.value;
   var passwordRegex = /^\w{6,10}$/;
   var msg ="   "; //不懂?
   if (!passwordValue)
    msg = "密码必须填写!";
   else
    if (!passwordRegex.test(passwordValue)) {
     msg = "密码必须6-16位";
     //alert(msg);
    }
   var span = document.getElementById("passwordSpan");
   span.innerHTML = msg;
   return msg == "   ";
  }
  
  
  function checkConfirm(){
   var cOnfirmValue= confirmObj.value;
   var passwordValue = passwordObj.value;
   var msg ="   ";
   if (!confirmValue)
    msg = "确认密码必须填写!";
   else if (confirmValue != passwordValue)
    msg = "密码必须一致!";
   
   var span = document.getElementById("confirmSpan");
   
   span.innerHTML = msg;
    return (msg == "   ");
   
   
  }
  
  function checkEmail(){
   var emailObjValue = emailObj.value;
   var emailRegex = /^[\w-]+@([\w-]+\.)+[a-zA-Z]{2,3}$/;
   var msg ="   ";
   if(!emailObjValue)
      msg = "Email必须填写!";
   else if(!emailRegex.test(emailObjValue))
      msg = "Email格式不正确!";
   var span = document.getElementById("emailSpan");
   
   span.innerHTML = msg;
   return msg == "   ";
  }
  function checkBirthday(){
   var birthdayValue = birthdayObj.value;
   var birthdayRegex = /^([12]\d{3})-(([1-9])|(1[012])|(0[1-9]))-(([1-9])|([12]\d)|(3[01]))$/; 
   var msg ="   ";
   if(!birthdayValue)
      msg = "生日必须填写!";
   else if(!birthdayRegex.test(birthdayValue))
      msg = "出生日期格式不正确!";
   var span = document.getElementById("birthdaySpan");
   span.innerHTML = msg;
   return msg == "   ";
  }
  
  function checkGender(){
   //var genderValue = genderObj.value;
   var msg ="   ";
   if(genderArr[0].checked == genderArr[1].checked)
      msg = "性别必须选择!";
   var span = document.getElementById("genderSpan");
   span.innerHTML = msg;
   return msg == "   ";
  } 
  
  function checkInterest(){
   var msg ="   ";
   if(!(interestArr[0].checked || interestArr[1].checked || interestArr[2].checked))
        msg = "兴趣必须选择!";
   var span = document.getElementById("interestSpan");
   span.innerHTML = msg;
   return msg == "   ";
  } 
  
  function checkCity(){
   //var cityValue = cityObj.value;
   var msg ="   ";
   if(!cityObj.value)
       msg = "城市必须选择!";
   var span = document.getElementById("citySpan");
   span.innerHTML = msg;
   return msg == "   ";
  }
  
  //获取表单对象,并且为表单提交事件写个方法
  var form = document.getElementById("form");
  form.Onsubmit= function(){
   
   var bUsername = checkUsername();
   var bPassword = checkPassword();
   var bCOnfirm= checkConfirm();
   var bEmail = checkEmail();
   var bBirthday = checkBirthday();
   var bGender = checkGender();
   var bInterest = checkInterest();
   var bCity = checkCity();
   
      //如果,每个上面的每个对象,验证成功,则还回true
   return bUsername && bPassword && bConfirm && bEmail && bBirthday && bGender && bInterest && bCity;
  }
  
  //去除用户名前后的空格
  function trim(s){
   return s.replace(/^\s+|\s+$/g,"");
  }
 }


推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文介绍了一种划分和计数油田地块的方法。根据给定的条件,通过遍历和DFS算法,将符合条件的地块标记为不符合条件的地块,并进行计数。同时,还介绍了如何判断点是否在给定范围内的方法。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 本文介绍了一道网络流题目hdu4888 Redraw Beautiful Drawings的解题思路。题目要求以行和列作为结点建图,并通过最大流算法判断是否有解以及是否唯一。文章详细介绍了建图和算法的过程,并强调在dfs过程中要进行回溯。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
author-avatar
强子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有