javascript html5实现表单验证


Posted in Javascript onMarch 01, 2016

表单验证为终端用户检测无效的数据并标记这些错误,是一种用户体验的优化。

下面展现浏览器自带的验证功能也可在移动端中查看:

HTML部分:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
  <title>html5 表单验证</title>
</head>
<body>
<form action="#" id="formValid" class="myform" novalidate="novalidate" onsubmit="return checkForm()">
  <fieldset>
    <div class="form-group">
      <label for="name">名称</label>
      <div>
        <input type="text" class="form-control" id="name" name="name" required/>
        <span class="form-error">不能为空</span>
      </div>
    </div>
    <div class="form-group">
      <label for="email">邮箱</label>
      <div>
        <input type="email" class="form-control" id="email" name="email" required/>
        <span class="form-error">邮箱格式不正确</span>
      </div>
    </div>
    <div class="form-group">
      <label>省份</label>
      <select name="province" class="form-control">
        <option value="">请选择</option>
        <option value="s">四川</option>
        <option value="c">重庆</option>
      </select>
    </div>
    <input type="submit" class="btn" value="提交"/>
  </fieldset>
</form>
</body>
</html>

CSS部分:

fieldset{border: 0;}
  .myform .form-control{
    display: block;
    padding: 5px;
    width: 100%
  }
  .myform input:focus:invalid + .form-error{
    display: inline;
  }
  .myform .form-error{
    display: none;
    position: absolute; 
    margin-top: .7em;
    padding: 1px 2px;
    color: #fff;
    font-size: .875rem;
    background: #f40;
  }
  .myform .form-error:after{
    position: absolute;
    content: "";
    top: -.5em;
    left: .5em;
    z-index: 100;
    display: inline-block;
    width: 0;
    height: 0;
    vertical-align: middle;
    border-bottom: .5em solid #f40;
    border-right: .5em solid transparent;
    border-left: .5em solid transparent;
    border-top: 0 dotted;
    transform: rotate(360deg);
    overflow: hidden;
  }
  .btn{
    padding: 5px 20px;
   }

JavaScript部分:

function checkForm(){
    var myform = document.getElementById("formValid");
    return check(myform.elements);
  }
  function check(eles){
    var ele;
    for(var i = 0;i<eles.length;i++){
      ele = eles[i];
      if(ele.nodeName == "SELECT"){
        if(!ele.selectedIndex){
          alert("请选择省份");
          return false;
        }
      }else if(ele.name){
        if(!ele.checkValidity()){
          ele.focus();
          return false;
        }
      }
    }
    return true;
  }

以上就是javascript结合html5实现表单验证的全部代码,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JS localStorage实现本地缓存的方法
Jun 22 Javascript
jquery 滚动条事件简单实例
Jul 12 Javascript
js获取和设置属性的方法
Feb 20 Javascript
jquery css 设置table的奇偶行背景色示例
Jun 03 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
Mar 04 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
百度搜索框智能提示案例jsonp
Nov 28 Javascript
Three.js的使用及绘制基础3D图形详解
Apr 27 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 Javascript
Vuejs+vue-router打包+Nginx配置的实例
Sep 20 Javascript
JS实现选项卡效果的代码实例
May 20 Javascript
mapboxgl实现带箭头轨迹线的代码
Jan 04 Javascript
javascript中FOREACH数组方法使用示例
Mar 01 #Javascript
JS实现Select的option上下移动的方法
Mar 01 #Javascript
angular2使用简单介绍
Mar 01 #Javascript
JS实现的在线调色板实例(附demo源码下载)
Mar 01 #Javascript
Bootstrap每天必学之导航条(二)
Mar 01 #Javascript
JavaScript实现简洁的俄罗斯方块完整实例
Mar 01 #Javascript
用NODE.JS中的流编写工具是要注意的事项
Mar 01 #Javascript
You might like
PHP中feof()函数实例测试
2014/08/23 PHP
phpstorm编辑器乱码问题解决
2014/12/01 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
js 取时间差去掉周六周日实现代码
2012/12/25 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
python中的编码知识整理汇总
2016/01/26 Python
Windows下python3.7安装教程
2018/07/31 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
Python 实现数组相减示例
2019/12/27 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
应届生法律求职信
2013/10/22 职场文书
2014三八妇女节活动总结
2014/03/01 职场文书
新学期决心书
2014/03/11 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
学校欢迎标语
2014/06/18 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
单位车辆管理制度
2015/08/05 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python
HTML基础详解(下)
2021/10/16 HTML / CSS