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 相关文章推荐
JavaScript 继承详解(三)
Jul 13 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
javascript Array 数组常用方法
Apr 05 Javascript
理解javascript闭包
Dec 15 Javascript
使用Object.defineProperty实现简单的js双向绑定
Apr 15 Javascript
js实现鼠标拖拽多选功能示例
Aug 01 Javascript
JS中定位 position 的使用实例代码
Aug 06 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
JS实现全屏预览F11功能的示例代码
Jul 23 Javascript
vue拖拽排序插件vuedraggable使用方法详解
Aug 21 Javascript
防止Layui form表单重复提交的实现方法
Sep 10 Javascript
layui之数据表格--与后台交互获取数据的方法
Sep 29 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
PHP 进程锁定问题分析研究
2009/11/24 PHP
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
php生成无限栏目树
2017/03/16 PHP
php函数式编程简单示例
2019/08/08 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
2017/01/22 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
Pyqt5自适应布局实例
2019/12/13 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
财会自我鉴定范文
2013/12/27 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
电台实习生求职信
2014/02/25 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
村庄环境整治方案
2014/05/15 职场文书
2014年班组工作总结
2014/11/20 职场文书
公司出纳岗位职责
2015/03/31 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
python获取带有返回值的多线程
2022/05/02 Python