详解JavaScript中的表单验证


Posted in Javascript onJune 16, 2015

 表单验证用于发生在服务器,客户端已经输入所有必要的数据,然后按下提交按钮之后。如果一些已被输入的客户端的数据的已在错误形式或者被简单地丢失,则服务器将必须的所有数据发送回客户端,并请求的形式以正确的信息重新提交。这是一个漫长的过程,会增加服务器负担。

JavaScript中,提供了一种方法将其发送到web服务器之前验证客户端的计算机上的形式的数据。表单验证通常执行两种方式。

  1.     基本验证 - 首先,该表必须进行检查,以确保数据输入的需要将其每一个表单字段。这将通过表格的每个字段只需要循环,并检查数据。
  2.     数据格式验证 - 其次,该被输入的数据必须检查正确格式和值。这将需要放置更多的逻辑来测试数据的正确性。

我们将举一个例子来了解验证的过程。下面是简单的形式进行:

<html>
<head>
<title>Form Validation</title>
<script type="text/javascript">
<!--
// Form validation code will come here.
//-->
</script>
</head>
<body>
 <form action="/cgi-bin/test.cgi" name="myForm" 
     onsubmit="return(validate());">
 <table cellspacing="2" cellpadding="2" border="1">
 <tr>
  <td align="right">Name</td>
  <td><input type="text" name="Name" /></td>
 </tr>
 <tr>
  <td align="right">EMail</td>
  <td><input type="text" name="EMail" /></td>
 </tr>
 <tr>
  <td align="right">Zip Code</td>
  <td><input type="text" name="Zip" /></td>
 </tr>
 <tr>
 <td align="right">Country</td>
 <td>
 <select name="Country">
  <option value="-1" selected>[choose yours]</option>
  <option value="1">USA</option>
  <option value="2">UK</option>
  <option value="3">INDIA</option>
 </select>
 </td>
 </tr>
 <tr>
  <td align="right"></td>
  <td><input type="submit" value="Submit" /></td>
 </tr>
 </table>
 </form>
 </body>
 </html>

基本表单验证:

首先,我们将展示如何做一个基本的表单验证。在上面的表格要求validate()函数来验证数据在onsubmit事件发生。以下是validate()函数的实现:

<script type="text/javascript">
<!--
// Form validation code will come here.
function validate()
{
 
  if( document.myForm.Name.value == "" )
  {
   alert( "Please provide your name!" );
   document.myForm.Name.focus() ;
   return false;
  }
  if( document.myForm.EMail.value == "" )
  {
   alert( "Please provide your Email!" );
   document.myForm.EMail.focus() ;
   return false;
  }
  if( document.myForm.Zip.value == "" ||
      isNaN( document.myForm.Zip.value ) ||
      document.myForm.Zip.value.length != 5 )
  {
   alert( "Please provide a zip in the format #####." );
   document.myForm.Zip.focus() ;
   return false;
  }
  if( document.myForm.Country.value == "-1" )
  {
   alert( "Please provide your country!" );
   return false;
  }
  return( true );
}
//-->
</script>

 
数据格式验证:

现在,我们将看到我们如何将其提交到Web服务器之前,验证我们输入的表单数据。

这个例子说明了如何验证输入的电子邮件地址,这意味着电子邮件地址必须至少包含一个@符号和一个点(.)。此外,@绝不能是电子邮件地址的第一个字符,最后点必须在@符号后面的一个字符:

<script type="text/javascript">
<!--
function validateEmail()
{
 
  var emailID = document.myForm.EMail.value;
  atpos = emailID.indexOf("@");
  dotpos = emailID.lastIndexOf(".");
  if (atpos < 1 || ( dotpos - atpos < 2 )) 
  {
    alert("Please enter correct email ID")
    document.myForm.EMail.focus() ;
    return false;
  }
  return( true );
}
//-->
</script>
Javascript 相关文章推荐
十个优秀的Ajax/Javascript实例网站收集
Mar 31 Javascript
jQuery阻止冒泡和HTML默认操作
Nov 17 Javascript
Java 正则表达式学习总结和一些小例子
Sep 13 Javascript
web基于浏览器的本地存储方法应用
Nov 27 Javascript
javascript设置文本框光标的方法实例小结
Nov 04 Javascript
js eval函数使用,js对象和字符串互转实例
Mar 06 Javascript
AngularJS  ng-repeat遍历输出的用法
Jun 19 Javascript
微信小程序 获取javascript 里的数据
Aug 17 Javascript
Vue高版本中一些新特性的使用详解
Sep 25 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
Apr 18 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
Sep 11 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 Javascript
详解JavaScript中的异常处理方法
Jun 16 #Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 #Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 #Javascript
jQuery封装的tab选项卡插件分享
Jun 16 #Javascript
jquery插件splitScren实现页面分屏切换模板特效
Jun 16 #Javascript
简述JavaScript对传统文档对象模型的支持
Jun 16 #Javascript
纯javascript实现四方向文本无缝滚动效果
Jun 16 #Javascript
You might like
一个php作的文本留言本的例子(六)
2006/10/09 PHP
PHP中的日期处理方法集锦
2007/01/02 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
Django中几种重定向方法
2015/04/28 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
Python time库基本使用方法分析
2019/12/13 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
给儿子的表扬信
2014/01/15 职场文书
安全检查与奖惩制度
2014/01/23 职场文书
中专自我鉴定
2014/02/05 职场文书
大学军训感言200字
2014/02/26 职场文书
小班评语大全
2014/05/04 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
求职信范文大全
2014/05/26 职场文书
施工安全协议书范本
2014/09/26 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
白酒代理协议书范本
2014/10/26 职场文书
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android