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 相关文章推荐
关于firefox的ElementTraversal 接口 使用说明
Nov 11 Javascript
javascript 基础篇4 window对象,DOM
Mar 14 Javascript
关于JS中的闭包浅谈
Aug 23 Javascript
删除条目时弹出的确认对话框
Jun 05 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
three.js 入门案例详解
Jan 23 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
Mar 01 Javascript
vue引入js数字小键盘的实现代码
May 14 Javascript
js打开word文档预览操作示例【不是下载】
May 23 Javascript
vue v-for 使用问题整理小结
Aug 04 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
原生JavaScript实现简单五子棋游戏
Jun 28 Javascript
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
文件上传程序的全部源码
2006/10/09 PHP
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
JS Array对象入门分析
2008/10/30 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
Python多线程编程(一):threading模块综述
2015/04/05 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
Python 如何测试文件是否存在
2020/07/31 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
理货员的岗位职责
2013/11/23 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
国情备忘录观后感
2015/06/04 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android