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 相关文章推荐
JavaScript 事件记录使用说明
Oct 20 Javascript
javascript面向对象包装类Class封装类库剖析
Jan 24 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 Javascript
详解Javascript 装载和执行
Nov 17 Javascript
jquery处理页面弹出层查询数据等待操作实例
Mar 25 Javascript
利用vue实现模态框组件
Dec 19 Javascript
基于Vue实现timepicker
Apr 25 Javascript
Vue自定义toast组件的实例代码
Aug 15 Javascript
vue代码分割的实现(codesplit)
Nov 13 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
Vue 解决父组件跳转子路由后当前导航active样式消失问题
Jul 21 Javascript
关于uniApp editor微信滑动问题
Jan 15 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
Phpbean路由转发的php代码
2008/01/10 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
Use Word to Search for Files
2007/06/15 Javascript
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
20条学习javascript的编程规范的建议
2014/11/28 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
Python中的fileinput模块的简单实用示例
2015/07/09 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
django2 快速安装指南分享
2018/01/05 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
python OpenCV学习笔记实现二维直方图
2018/02/08 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
幼儿园评语大全
2014/04/17 职场文书
社区戒毒工作方案
2014/06/04 职场文书
个人年终总结怎么写
2015/03/09 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书