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 相关文章推荐
js apply/call/caller/callee/bind使用方法与区别分析
Oct 28 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
Nov 15 Javascript
javascript中sort() 方法使用详解
Aug 30 Javascript
全面解析多种Bootstrap图片轮播效果
May 27 Javascript
JS实现星星评分功能实例代码(两种方法)
Jun 09 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
angular.js 路由及页面传参示例
Feb 24 Javascript
深入理解vue.js中$watch的oldvalue与newValue
Aug 07 Javascript
如何在vue里添加好看的lottie动画
Aug 02 Javascript
json前后端数据交互相关代码
Sep 19 Javascript
vue-cli和v-charts实现可视化图表过程解析
Oct 08 Javascript
js实现视图和数据双向绑定的方法分析
Feb 05 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
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
使用graphics.py实现2048小游戏
2015/03/10 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
关于Python中浮点数精度处理的技巧总结
2017/08/10 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
linux面试题参考答案(7)
2012/10/29 面试题
生物化工工艺专业应届生求职信
2013/10/08 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
教师个人事迹材料
2014/12/17 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL