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的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
jQuery网页版打砖块小游戏源码分享
Aug 20 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
js实现类bootstrap模态框动画
Feb 07 Javascript
JS排序之快速排序详解
Apr 08 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
js中实例与对象的区别讲解
Jan 21 Javascript
vue+elementUi图片上传组件使用详解
Aug 20 Javascript
解决layui checkbox 提交多个值的问题
Sep 02 Javascript
JS对象属性的检测与获取操作实例分析
Mar 17 Javascript
原生JS生成指定位数的验证码
Oct 28 Javascript
Javascript文本框脚本实现方法解析
Oct 30 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
一些php技巧与注意事项分析
2011/02/03 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
php命令行写shell实例详解
2018/07/19 PHP
JavaScript延迟加载
2021/03/09 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
Javascript实现运算符重载详解
2018/04/07 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
在python中的socket模块使用代理实例
2014/05/29 Python
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
Pytorch to(device)用法
2020/01/08 Python
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
开放系统互连参考模型
2016/06/29 面试题
课程设计心得体会
2013/12/28 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
工商管理本科生求职信
2014/07/13 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
公司2015年终工作总结
2015/05/26 职场文书
辛亥革命观后感
2015/06/02 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书