JavaScript表单验证完美代码


Posted in Javascript onMarch 02, 2017

用原生JS写一个简单的表单验证

 首先,是html部分

<div class="divAll"> 
   <div id="titles">新用户注册</div> 
   <div id="contents"> 
   <h3>基本信息</h3> 
   <hr width="95%" color="#f2f2f2"/> 
   <form action="#" onSubmit="return checkForm()"> 
    <div id="form-itemGroup"> 
      <label for="userName">用户名:</label> 
      <input type="text" id="userName" class="userName" onBlur="checkUserName()" oninput="checkUserName()"> 
      <span class="default" id="nameErr">请输入至少3位的用户名</span> 
    </div> 
    <div id="form-itemGroup"> 
      <label for="userPasword">密码:</label> 
      <input type="password" id="userPasword" class="userName" onBlur="checkPassword()" oninput="checkPassword()"> 
      <span class="default" id="passwordErr">请输入4到8位的密码</span> 
    </div> 
    <div id="form-itemGroup"> 
      <label for="userConfirmPasword">确认密码:</label> 
      <input type="password" id="userConfirmPasword" class="userName" onBlur="ConfirmPassword()" oninput="ConfirmPassword()"> 
      <span class="default" id="conPasswordErr">请再输入一遍密码</span> 
    </div> 
    <div id="form-itemGroup"> 
      <label for="userPhone">手机号码:</label> 
      <input type="text" id="userPhone" class="userName" onBlur="checkPhone()" oninput="checkPhone()"> 
      <span class="default" id="phoneErr">请输入11位手机号码</span> 
    </div> 
    <div> 
     <button type="submit" class="divBtn">注册</button> 
    </div> 
   </form> 
   </div> 
 </div>

 接着,为其加上CSS样式

<style type="text/css"> 
 .divAll{ 
   width:800px; 
   font-family:'黑体'; 
   margin:50px auto; 
   } 
 #titles{ 
   font-weight:bold; 
   font-size:18px; 
   height:50px; 
   line-height:50px; 
   background:#FFF9F3; 
   text-align:center;  
   border:1px solid #CCC;; 
   } 
 #contents{ 
    margin-top:20px; 
    background:#FFF9F3; 
    border:1px solid #CCC;; 
    } 
  #form-itemGroup{ 
   padding:10px;  
    } 
  #form-itemGroup label{ 
    display:inline-block; 
    width:100px; 
    height:32px; 
    line-height:32px; 
    color:#666; 
    text-align:right; 
    } 
  #form-itemGroup .userName{ 
    width:200px; 
    height:40px; 
    line-height:40px; 
    border:1px solid #CCC; 
    }   
  #form-itemGroup .default{ 
    width:200px; 
    height:32px; 
    line-height:32px; 
    color:#999; 
    }  
  #form-itemGroup .error{ 
    height:32px; 
    line-height:32px; 
    color:#F00; 
    } 
  #form-itemGroup .success{ 
    height:32px; 
    line-height:32px; 
    color:#096; 
    }  
  .divBtn{ 
    margin-top:20px; 
    margin-left:200px; 
    width:100px; 
    height:32px; 
    line-height:32px; 
    background-color:#F93; 
    margin-bottom:10px; 
    color:#ffffff; 
    font-weight:bold; 
    border:none; 
    } 
</style>

最后是JS部分

<script type="text/javascript"> 
 function checkForm(){ 
  var nametip = checkUserName(); 
  var passtip = checkPassword();  
  var conpasstip = ConfirmPassword(); 
  var phonetip = checkPhone(); 
  return nametip && passtip && conpasstip && phonetip; 
  } 
  //验证用户名   
  function checkUserName(){ 
  var username = document.getElementById('userName'); 
  var errname = document.getElementById('nameErr'); 
  var pattern = /^\w{3,}$/;  //用户名格式正则表达式:用户名要至少三位 
  if(username.value.length == 0){ 
    errname.innerHTML="用户名不能为空" 
    errname.className="error" 
    return false; 
    } 
  if(!pattern.test(username.value)){ 
    errname.innerHTML="用户名不合规范" 
    errname.className="error" 
    return false; 
    } 
   else{ 
     errname.innerHTML="OK" 
     errname.className="success"; 
     return true; 
     } 
  } 
  //验证密码   
function checkPassword(){ 
  var userpasswd = document.getElementById('userPasword'); 
  var errPasswd = document.getElementById('passwordErr'); 
  var pattern = /^\w{4,8}$/; //密码要在4-8位 
  if(!pattern.test(userpasswd.value)){ 
    errPasswd.innerHTML="密码不合规范" 
    errPasswd.className="error" 
    return false; 
    } 
   else{ 
     errPasswd.innerHTML="OK" 
     errPasswd.className="success"; 
     return true; 
     } 
  } 
  //确认密码 
  function ConfirmPassword(){ 
  var userpasswd = document.getElementById('userPasword'); 
  var userConPassword = document.getElementById('userConfirmPasword'); 
  var errConPasswd = document.getElementById('conPasswordErr'); 
  if((userpasswd.value)!=(userConPassword.value) || userConPassword.value.length == 0){ 
    errConPasswd.innerHTML="上下密码不一致" 
    errConPasswd.className="error" 
    return false; 
    } 
   else{ 
     errConPasswd.innerHTML="OK" 
     errConPasswd.className="success"; 
     return true; 
     }    
  } 
//验证手机号 
  function checkPhone(){ 
  var userphone = document.getElementById('userPhone'); 
  var phonrErr = document.getElementById('phoneErr'); 
  var pattern = /^1[34578]\d{9}$/; //验证手机号正则表达式 
  if(!pattern.test(userphone.value)){ 
    phonrErr.innerHTML="手机号码不合规范" 
    phonrErr.className="error" 
    return false; 
    } 
   else{ 
     phonrErr.innerHTML="OK" 
     phonrErr.className="success"; 
     return true; 
     } 
  } 
</script>

 好了,打开浏览器测试一下吧

JavaScript表单验证完美代码

  填写数据,可以!

JavaScript表单验证完美代码

以上所述是小编给大家介绍的JavaScript表单验证完美代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery简单体验
Jan 10 Javascript
使用js修改客户端注册表的方法
Aug 09 Javascript
jQuery实现密保互斥问题解决方案
Aug 16 Javascript
关于js内存泄露的一个好例子
Dec 09 Javascript
js操作输入框提示信息且响应鼠标事件
Mar 25 Javascript
javaScript的函数对象的声明详解
Feb 06 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
Aug 22 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
Sep 01 Javascript
详解Vue2 添加对scss的支持
Jan 02 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
Mar 19 Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 Javascript
vue特效之翻牌动画
Apr 20 Vue.js
js实现常见的工具条效果
Mar 02 #Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
Mar 02 #Javascript
jQuery给表格添加分页效果
Mar 02 #Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
Mar 02 #Javascript
Bootstrap Scrollspy源码学习
Mar 02 #Javascript
老生常谈jquery中detach()和remove()的区别
Mar 02 #Javascript
jQuery实用密码强度检测
Mar 02 #Javascript
You might like
PHP中单例模式与工厂模式详解
2017/02/17 PHP
PHP new static 和 new self详解
2017/02/19 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
解决vue路由后界面没有变化,但是链接有的问题
2018/09/01 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
Python脚本实现网卡流量监控
2015/02/14 Python
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
python数据结构之图的实现方法
2015/07/08 Python
Python随机生成带特殊字符的密码
2016/03/02 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
理货员的岗位职责
2013/11/23 职场文书
项目合作计划书
2014/01/09 职场文书
网吧消防安全制度
2014/01/28 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
2014年信用社工作总结
2014/11/25 职场文书
民间借贷借条如何写
2015/05/26 职场文书
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers
python flappy bird小游戏分步实现流程
2022/02/15 Python