JavaScript表单验证完美代码

发布时间 - 2026-01-10 23:22:29    点击率:

用原生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表单验证完美代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js表单验证代码  # jquery validate.js表单验证的基本用法入门  # js 常用正则表达式表单验证代码  # JavaScript 表单验证正则表达式大全[推荐]  # AngularJS实现表单验证  # javascript制作的简单注册模块表单验证  # js正则表达式注册页面表单验证  # jquery表单验证插件(jquery.validate.js)的3种使用方式  # JavaScript表单验证实例之验证表单项是否为空  # AngularJS使用ngMessages进行表单验证  # JavaScript实现简单表单验证案例  # 请输入  # 表单  # 小编  # 好了  # 在此  # 要在  # 一遍  # 给大家  # 正则表达式  # 为其  # 所述  # 给我留言  # 新用户注册  # 感谢大家  # 为空  # 疑问请  # 有任何  # 打开浏览器  # userConfirmPasword  # passwordErr 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器WordPress建站指南:SEO优化与高效部署策略  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  如何构建满足综合性能需求的优质建站方案?  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在景安服务器上快速搭建个人网站?  长沙做网站要多少钱,长沙国安网络怎么样?  如何在Windows环境下新建FTP站点并设置权限?  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  音响网站制作视频教程,隆霸音响官方网站?  魔方云NAT建站如何实现端口转发?  Laravel如何创建自定义中间件?(Middleware代码示例)  EditPlus中的正则表达式 实战(2)  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  黑客如何利用漏洞与弱口令入侵网站服务器?  太平洋网站制作公司,网络用语太平洋是什么意思?  网易LOFTER官网链接 老福特网页版登录地址  如何在云服务器上快速搭建个人网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  javascript读取文本节点方法小结  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  Laravel如何使用Collections进行数据处理?(实用方法示例)  Laravel如何实现文件上传和存储?(本地与S3配置)  如何在阿里云虚拟服务器快速搭建网站?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  jQuery validate插件功能与用法详解  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  专业商城网站制作公司有哪些,pi商城官网是哪个?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  网站建设整体流程解析,建站其实很容易!  原生JS实现图片轮播切换效果  高性价比服务器租赁——企业级配置与24小时运维服务  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  中山网站制作网页,中山新生登记系统登记流程?  JS实现鼠标移上去显示图片或微信二维码  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  香港服务器网站推广:SEO优化与外贸独立站搭建策略  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析