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做flash做的事..才完成的一个类.Auntion Action var 0.1
Feb 23 Javascript
htm调用JS代码
Mar 15 Javascript
js获取select标签选中值的两种方式
Jan 09 Javascript
通过正则表达式实现表单验证是否为中文
Feb 18 Javascript
JavaScript实现打字效果的方法
Jul 10 Javascript
javascript伸缩菜单栏实现代码分享
Nov 12 Javascript
javascript基础知识
Jun 07 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
Nov 22 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
Sep 16 Javascript
vue项目移动端实现ip输入框问题
Mar 19 Javascript
解决layui弹框失效的问题
Sep 09 Javascript
vue中touch和click共存的解决方式
Jul 28 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面试题附答案
2009/01/07 PHP
php函数之子字符串替换&amp;#65279; str_replace
2011/03/23 PHP
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
javascript模拟命名空间
2015/04/17 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
JSONP跨域请求
2017/03/02 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
Python实现单词拼写检查
2015/04/25 Python
python中PIL安装简单教程
2016/04/21 Python
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
python、Matlab求定积分的实现
2019/11/20 Python
护士自我鉴定范文
2013/10/06 职场文书
公司领导推荐信
2013/11/12 职场文书
培训主管的岗位职责
2013/11/23 职场文书
实习求职信
2013/12/01 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
个人培训总结
2015/03/05 职场文书
交通安全主题班会
2015/08/12 职场文书
500字作文之周记
2019/12/13 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
Django模型层实现多表关系创建和多表操作
2021/07/21 Python