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 相关文章推荐
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
Jun 05 Javascript
javascript间隔刷新的简单实例
Nov 14 Javascript
javascript文本框内输入文字倒计数的方法
Feb 24 Javascript
JavaScript简单实现鼠标移动切换图片的方法
Feb 23 Javascript
Rollup处理并打包JS文件项目实例代码
May 31 Javascript
vue实现键盘输入支付密码功能
Aug 18 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
Oct 16 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
Dec 04 Javascript
js页面加载后执行的几种方式小结
Jan 30 Javascript
使用vue打包进行云服务器上传的问题
Mar 02 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
May 20 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 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
用PHP制作静态网站的模板框架(四)
2006/10/09 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
PHP中使用curl入门教程
2015/07/02 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
用python制作游戏外挂
2018/01/04 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
Python如何省略括号方法详解
2020/03/21 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
python 异步async库的使用说明
2020/05/04 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
经典而简洁的婚礼主持词
2014/03/13 职场文书
2014年终工作总结范本
2014/12/15 职场文书
人事局接收函
2015/01/30 职场文书
Python词云的正确实现方法实例
2021/05/08 Python