JavaScript 基础表单验证示例(纯Js实现)


Posted in Javascript onJuly 20, 2017

验证思路

JavaScript 基础表单验证示例(纯Js实现)

监听每个input控件的焦点离开(onblue),当焦点离开时调用验证函数,验证后修改第三栏文字,显示符合/不符合并返回true/false

JavaScript 基础表单验证示例(纯Js实现)

实现代码:

index.html

<!DOCTYPE html>
<html>

<head>
  <title></title>
  <pnk rel="stylesheet" href="css.css" rel="external nofollow" >
</head>

<body>
  <form id="form" action="" method="post" onsubmit="return vipdate()">
    <table class="table">
      <tr>
        <td>雇员编号</td>
        <td>
          <input type="text" id="empnb" name="empnb" onblur="vapdateEmpnb()">
        </td>
        <td>
          <span id="empnbMsg"></span>
        </td>
      </tr>
      <tr>
        <td>雇员姓名</td>
        <td>
          <input type="text" id="ename" name="ename" onblur="vapdateEname()">
        </td>
        <td>
          <span id="enameMsg"></span>
        </td>
      </tr>
      <tr>
        <td>雇员职位</td>
        <td>
          <input type="text" name="epost" id="epost" onblur="vapdateEpost()">
        </td>
        <td>
          <span id="epostMsg"></span>
        </td>
      </tr>
      <tr>
        <td>雇员日期</td>
        <td>
          <input type="text" name="" id="edate" name="edate" onblur="vapdateEdate()">
        </td>
        <td>
          <span id="edateMsg"></span>
        </td>
      </tr>
      <tr>
        <td>基本工资</td>
        <td>
          <input type="text" name="esalary" id="esalary" onblur="vapdateEsalary()">
        </td>
        <td>
          <span id="esalaryMsg"></span>
        </td>
      </tr>
      <tr>
        <td>佣金</td>
        <td>
          <input type="text" name="ebrok" id="ebrok" onblur="vapdateEbrok()">
        </td>
        <td>
          <span id="ebrokMsg"></span>
        </td>
      </tr>
      <tr>
        <td colspan="3">
          <input type="submit" autofocus="autofocus">
          <input type="reset">
        </td>
      </tr>
    </table>
  </form>
</body>
<script type="text/javascript" src="./FormVapdation.js"></script>

</html>

FormVapdation.js

// 日期选择
function layDate() {

}

// 验证雇员编号,4位纯数字编号
function vapdateEmpnb() {
  return vapdateRegexp("empnb", /^\d{4}$/);
}
// 验证雇员姓名,不为空
function vapdateEname() {
  return vapdateNull("ename");
}
// 验证雇员职位,不为空
function vapdateEpost() {
  return vapdateNull("epost");
}
// 验证雇员日期
function vapdateEdate() {
  return vapdateRegexp("edate", /^\d{4}-\d{2}-\d{2}$/)
}
// 验证基本工资
function vapdateEsalary() {
  return vapdateRegexp("esalary", /^\d+(\.\d{1,2})?$/)
}
// 验证佣金
function vapdateEbrok() {
  return vapdateRegexp("ebrok", /^\d+(\.\d{1,2})?$/)
}

// 提交时全部重新验证
function vapdate() {
  return vapdateEmpnb() && vapdateEname() && vapdateEpost() && vapdateEdate() && vapdateEsalary() && vapdateEbrok();
}
// 正则表达式验证
function vapdateRegexp(elemName, regexp) {
  var elem = document.getElementById(elemName);
  var msg = document.getElementById(elemName + 'Msg')
  console.log(regexp);
  console.log(elem.value);
  if (regexp.test(elem.value)) {
    msg.innerHTML = 'ok';
    msg.style.color = 'green';
    return true;
  } else {
    msg.innerHTML = '您的输入不符合规则';
    msg.style.color = 'red';
    return false;
  }
}
// 不为空验证
function vapdateNull(elemName) {
  var elem = document.getElementById(elemName);
  var msg = document.getElementById(elemName + 'Msg');
  console.log(elem.value);
  console.log(msg);
  if (elem.value == '' || elem.value == ' ') {
    msg.innerHTML = '您的输入不能为空';
    msg.style.color = 'red';
    return false;
  } else {
    msg.innerHTML = 'ok';
    msg.style.color = 'green';
    return true;
  }
}

css.css

html {
  font-size: 14px;
}

.table {
  border: 1px grey sopd;
}

.table tr {
  height: 2rem;
}

.table td {
  width: 15rem;
}

以上这篇JavaScript 基础表单验证示例(纯Js实现)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript同步Import,同步调用外部js的方法
Jul 08 Javascript
基于jquery的气泡提示效果
May 31 Javascript
javascript setTimeout和setInterval计时的区别详解
Jun 21 Javascript
javascript常用的方法分享
Jul 01 Javascript
详解JavaScript中双等号引起的隐性类型转换
May 30 Javascript
利用Javascript仿Excel的数据透视分析功能
Sep 07 Javascript
jquery  实现轮播图详解及实例代码
Oct 12 Javascript
Node.js连接MongoDB数据库产生的问题
Feb 08 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
Mar 29 Javascript
微信小程序缓存过期时间的使用详情
May 12 Javascript
Vue中全局变量的定义和使用
Jun 05 Javascript
javascript中undefined的本质解析
Jul 31 Javascript
js 事件的传播机制(实例讲解)
Jul 20 #Javascript
详谈for循环里面的break和continue语句
Jul 20 #Javascript
js is_valid_filename验证文件名的函数
Jul 19 #Javascript
vue Render中slots的使用的实例代码
Jul 19 #Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 #Javascript
解决vue router使用 history 模式刷新后404问题
Jul 19 #Javascript
深入理解vue Render函数
Jul 19 #Javascript
You might like
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
jQuery 使用手册(四)
2009/09/23 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
Node.js实现文件上传
2016/07/05 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
vue中引用swiper轮播插件的教程详解
2018/08/16 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
Python2随机数列生成器简单实例
2017/09/04 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
Python: 传递列表副本方式
2019/12/19 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
社区志愿者培训方案
2014/06/10 职场文书
放假通知怎么写
2015/08/18 职场文书
致运动员的广播稿
2015/08/19 职场文书
公司与个人合作协议书
2016/03/19 职场文书