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 相关文章推荐
jquery 延迟执行实例介绍
Aug 20 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
jQuery实现页面倒计时并刷新效果
Mar 13 Javascript
js实现鼠标拖动功能
Mar 20 Javascript
利用Javascript获取选择文本所在的句子详解
Dec 03 Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 Javascript
Vue 中的受控与非受控组件的实现
Dec 17 Javascript
微信 jssdk 签名错误invalid signature的解决方法
Jan 14 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
Jan 21 Javascript
pageGroup.js实现分页功能
Jul 27 Javascript
vscode自定义vue模板的实现
Jan 27 Vue.js
关于React Native使用axios进行网络请求的方法
Aug 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
程序员编程十条戒律
2009/07/09 PHP
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
2011/01/07 PHP
PHP 图片水印类代码
2012/08/27 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
功能强大的php分页函数
2016/07/20 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
Python如何实现动态数组
2019/11/02 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
Python3实现飞机大战游戏
2020/04/24 Python
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
华为慧通面试题
2012/09/11 面试题
2014厂务公开实施方案
2014/02/17 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
无传销社区工作方案
2014/05/13 职场文书
文明城市标语
2014/06/16 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
忠诚与背叛观后感
2015/06/04 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技