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中巧用cssText属性批量操作样式
Mar 13 Javascript
Dom 学习总结以及实例的使用介绍
Apr 24 Javascript
图片Slider 带左右按钮的js示例
Aug 30 Javascript
javascript自启动函数的问题探讨
Oct 05 Javascript
javascript中创建对象的几种方法总结
Nov 01 Javascript
在JavaScript中构建ArrayList示例代码
Sep 17 Javascript
javascript基本类型详解
Nov 28 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
Oct 14 Javascript
js实现的页面矩阵图形变换特效
Jan 26 Javascript
Vue.Js中的$watch()方法总结
Mar 23 Javascript
Vue组件tree实现树形菜单
Apr 13 Javascript
Vue使用预渲染代替SSR的方法
Jul 02 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
zend framework多模块多布局配置
2011/02/26 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
PHP实现递归的三种方法
2020/07/04 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
js字符串转成JSON
2013/11/07 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
通过JS判断网页是否为手机打开
2020/10/28 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
Python内置加密模块用法解析
2019/11/25 Python
Python socket聊天脚本代码实例
2020/01/02 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
个人委托书格式
2014/04/04 职场文书
读群众路线的心得体会
2014/09/03 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
三行辞职书范文
2015/02/26 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
技术转让协议书
2016/03/19 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL