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 相关文章推荐
javascript 匿名函数的理解(透彻版)
Jan 28 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
JS实现样式清新的横排下拉菜单效果
Oct 09 Javascript
Javascript基于AJAX回调函数传递参数实例分析
Dec 15 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
vue-router 中router-view不能渲染的解决方法
May 23 Javascript
关于JavaScript中的this指向问题总结篇
Jul 23 Javascript
vue.js异步上传文件前后端实现代码
Aug 22 Javascript
微信小程序实现倒计时调用相机自动拍照功能
Jun 10 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
Jul 23 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
layui复选框限制选择个数的方法
Sep 18 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
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
2014/12/29 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
python实现的简单文本类游戏实例
2015/04/28 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
Keras 切换后端方式(Theano和TensorFlow)
2020/06/19 Python
python安装后的目录在哪里
2020/06/21 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
迟到检讨书900字
2014/01/14 职场文书
教师个人自我鉴定
2014/02/08 职场文书
调解协议书
2014/04/16 职场文书
国庆节演讲稿
2014/05/27 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
庆七一活动简报
2015/07/20 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书