js表单验证实例讲解


Posted in Javascript onMarch 31, 2016

本文实例为大家分享了js表单验证,供大家参考,具体内容如下

JavaScript 可用来在数据被送往服务器前对HTML 表单中的这些输入数据进行验证。
被JavaScript 验证的这些典型的表单数据有:
1)、用户是否已填写表单中的必填项目?
2)、用户输入的邮件地址是否合法?
3)、用户是否已输入合法的日期?
4)、用户是否在数据域 (numeric field) 中输入了文本?

 gspan.html

<html>
<head>
  <title>表单验证实例</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script src="check.js" type="text/javascript"></script>
  <style>
    span{ font-size:12px; }
    .stats1{ color : #ccc; }
    .stats2{ color :black; }
    .stats3{ color :red; }
    .stats4{ color :green; }
 
  </style>
</head>
<body>
  <form method="post" action="reg.php" onsubmit="return regs('click')" >
    用户名:<input type="text" name="username" /><span class="stats1">用户名不能为空</span><br/>
    邮箱:<input type="text" name="email" /><span class="stats1">邮箱不能为空</span><br/>
    密码:<input type="password" name="password" /><span class="stats1">密码不能为空</span><br/>
    确认密码:<input type="password" name="chkpass" /><span class="stats1">密码不能为空</span><br/>
    <input type="submit" />
  </form>
</body>
</html>

check.js

function gspan(cobj){    //获取表单后的span 标签 显示提示信息
  if (cobj.nextSibling.nodeName != 'SPAN'){
    gspan(cobj.nextSibling);
  } else {
    return cobj.nextSibling;
  }
}
 
//检查表单 obj【表单对象】, info【提示信息】 fun【处理函数】 click 【是否需要单击, 提交时候需要触发】
function check(obj, info, fun, click){
  var sp = gspan(obj);
  obj.onfocus = function(){
    sp.innerHTML = info;
    sp.className = 'stats2';
  }
 
  obj.onblur = function(){
    if (fun(this.value)){
      sp.innerHTML = "输入正确!";
      sp.className = "stats4";
    } else {
      sp.innerHTML = info;
      sp.className = "stats3";
    }
  }
 
  if (click == 'click'){
    obj.onblur();
  }
}
 
onload = regs;   //页面载入完执行
 
function regs(click){
  var stat = true;    //返回状态, 提交数据时用到
  username = document.getElementsByName('username')[0];
  password = document.getElementsByName('password')[0];
  chkpass = document.getElementsByName('chkpass')[0];
  email = document.getElementsByName('email')[0];
   
  check(username, "用户名的长度在3-20之间", function(val){
    if (val.match(/^\S+$/) && val.length >=3 && val.length <=20){
      return true;
    } else {
      stat = false;
      return false;
    }
  }, click);
 
  check(password, "密码必须在6-20位之间", function(val){
    if (val.match(/^\S+$/) && val.length >= 6 && val.length <=20){
      return true;
    } else {
      stat = false;
      return false;
    }
  }, click);
 
   
  check(chkpass, "确定密码要和上面一致,规则也要相同", function(val){
    if (val.match(/^\S+$/) && val.length >=6 && val.length <=20 && val == password.value){
      return true;
    } else {
      stat = false;
      return false;
    }
  }, click);
 
  check(email, "请按邮箱规则输入", function(val){
    if (val.match(/\w+@\w+\.\w/)){
      return true;
    } else {
      stat = false;
      return false;
    }
  }, click);
  return stat;
}

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Jquery实战_读书笔记1—选择jQuery
Jan 22 Javascript
IE无法设置短域名下Cookie
Sep 23 Javascript
JavaScript中逗号运算符介绍及使用示例
Mar 13 Javascript
jQuery简单验证上传文件大小及类型的方法
Jun 02 Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 Javascript
jquery实现回车键触发事件(实例讲解)
Nov 21 jQuery
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
Apr 17 jQuery
vue2.0页面前进刷新回退不刷新的实现方法
Jul 31 Javascript
JavaScript Canvas实现验证码
Aug 02 Javascript
Vue 中的受控与非受控组件的实现
Dec 17 Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
Sep 10 Javascript
javascript创建cookie、读取cookie
Mar 31 #Javascript
基于javascript实现全屏漂浮广告
Mar 31 #Javascript
JS深度拷贝Object Array实例分析
Mar 31 #Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 #Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 #Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 #Javascript
基于JQuery打造无缝滚动新闻步骤详解
Mar 31 #Javascript
You might like
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
php封装的验证码类分享
2017/02/26 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
js 判断脚本加载完毕的代码
2011/07/13 Javascript
『jQuery』名称冲突使用noConflict方法解决
2013/04/22 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
2019/07/04 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
Python @property原理解析和用法实例
2020/02/11 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
最新远光软件笔试题面试题内容
2013/11/08 面试题
村官工作鉴定评语
2014/01/27 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
初婚未育证明样本
2015/06/18 职场文书
win10下go mod配置方式
2021/04/25 Golang
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
Nebula Graph解决风控业务实践
2022/03/31 MySQL