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 相关文章推荐
FF火狐下获取一个元素同类型的相邻元素实现代码
Dec 15 Javascript
js限制文本框只能输入数字方法小结
Jun 16 Javascript
jscript读写二进制文件的方法
Apr 22 Javascript
Angular的自定义指令以及实例
Dec 26 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
Jan 11 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
Vue项目组件化工程开发实践方案
Jan 09 Javascript
在vue中使用vue-echarts-v3的实例代码
Sep 13 Javascript
Vue项目安装插件并保存
Jan 28 Javascript
javascript定时器的简单应用示例【控制方块移动】
Jun 17 Javascript
js canvas实现5张图片合成一张图片
Jul 15 Javascript
详解TS数字分隔符和更严格的类属性检查
May 06 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打印输出棋盘的实现方法
2014/12/23 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
暑期培训随笔感言
2014/03/10 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
热情服务标语
2014/10/07 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
离婚案件上诉状
2015/05/23 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书