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 相关文章推荐
13个绚丽的Jquery 界面设计网站推荐
Sep 28 Javascript
js的一些常用方法小结
Jun 29 Javascript
jquery统计复选框选中示例
Nov 05 Javascript
js弹出div并显示遮罩层
Feb 12 Javascript
5种处理js跨域问题方法汇总
Dec 04 Javascript
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
vue如何从接口请求数据
Jun 22 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
Feb 07 Javascript
vue.draggable实现表格拖拽排序效果
Dec 01 Javascript
Vue代码整洁之去重方法整理
Aug 06 Javascript
antd多选下拉框一行展示的实现方式
Oct 31 Javascript
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
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实现的替换敏感字符串类实例
2014/09/22 PHP
PHP根据图片色界在不同位置加水印的方法
2015/07/01 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
一个加载js文件的小脚本
2007/06/28 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
用js格式化金额可设置保留的小数位数
2014/05/09 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
python类装饰器用法实例
2015/06/04 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
Python同步遍历多个列表的示例
2019/02/19 Python
实例讲解Python3中abs()函数
2019/02/19 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
python在地图上画比例的实例详解
2020/11/13 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
美国性感内衣店:Yandy
2018/06/12 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
购房委托书
2014/10/15 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android