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 相关文章推荐
提交表单时执行func方法实现代码
Mar 17 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
js 定义对象数组(结合)多维数组方法
Jul 27 Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
Apr 10 Javascript
Textarea输入字数限制实例(兼容iOS&amp;安卓)
Jul 06 Javascript
JavaScript设计模式之工厂模式简单实例教程
Jul 03 Javascript
vue控制多行文字展开收起的实现示例
Oct 11 Javascript
Vue项目中Api的组织和返回数据处理的操作
Nov 04 Javascript
JavaScript实现省市联动效果
Nov 22 Javascript
Vue微信公众号网页分享的示例代码
May 28 Javascript
微信小程序调用后台service教程详解
Nov 06 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
物流仓储计划书
2014/01/10 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
初中美术教学反思
2016/02/17 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL