当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript实例教程(8) 检验表单有效性

Javascript
在Z-Blog中运行代码[html][/html](纯JS版)
统一接口:为FireFox添加IE的方法和属性的js代码
网页自动刷新,不产生嗒嗒声的一个解决方法
驱动事件的addEvent.js代码
[原创]提供复制本站内容时出现,该文章转自IT学习网等字样的js代码
CSDN轮换广告图片轮换效果
一段多浏览器的"复制到剪贴板"javascript代码
Javascript中的常见排序算法
JS Common 2 之比较常用到的函数
非正则实现的只能输入汉字的输入框
CSDN上快速结贴的方法,JS实现
js eval木马代码,以后再分析吧
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
一个不错的可以检测多中浏览器的函数和其它功能
状态栏显示欢迎信息的脚本特效
关于文本限制字数的js代码
在你的网页中嵌入外部网页的方法
在IE中调用javascript打开Excel的代码(downmoon原作)
javascript实现动态增加删除表格行(兼容IE/FF)
javascript中获取选中对象的类型

Javascript 中的 javascript实例教程(8) 检验表单有效性


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 352 ::
收藏到网摘: n/a

    表单的有效性检验是JavaScript一个很有用的方面。它可以用于检查一个给定的表单以及发现表单中的任何问题,比如一个空白的输入框或者一个无效的E-mail(电子邮件)地址,然后它可以通知用户并且就不会将这些错误的表单传给服务器以节省时间。另外,除此以外,对表单标签的一些修改跟其它类型的脚本是类似的。以下的例子是一个简单的表单,如下面表单所示。你可以让名字的方框留空白或者输入一个电子邮件地址而没有@符号,即是输入错误的内容,看看JavaScript是进行表单的有效性检验的。
姓名:
电子邮箱:

  结果你可以发现如果你忘记输入某一特定类型的数据到表单中去,它就会警告你并且取消提交给服务器。直到你键入了正确的信息,它才将表单发送给服务器。

  下面我们来好好研究一下在Javascript中是如何进行表单的有效性检验的。其中在表单有效性检验中最重要的代码是在表单标签处的一个时间处理器,这个时间处理器(onSubmit)必须返回真值的时候才提交表单。以下是详细的表单代码:

<FORM

NAME = "theform"

ACTION = "mailto:"

METHOD = "POST"

ENCTYPE = "multipart/form-data"

onSubmit="return formCheck()">

当Submit(提交)按钮被按下的时候,这个时间处理器就被触发,它接着执行函数formCheck(),这个函数是用于检查表单中是否没有错误了。
formCheck()函数的代码如下:


function formCheck()

{


if (document.theform.user_name.value == "")

{

alert("Please put in a name.");

return false;

}

if (document.theform.email.value.indexOf("@") == -1 ||

document.theform.email.value == "")

{

alert("Please include a proper email address.");

return false;

}

}

  首先,formCheck()函数判断是否用户名字输入为空。如果为空,它也会警告用户并返回false值,这个表单也不会发送给服务器。接着formCheck()函数是判断是否Email地址输入包含一个@符号或者是空的。如果没有包含@符号或者是空的的任何一种情况,它就会警告用户并返回false值,这样这个表单就不会发送给服务器了。以上的任何一种错误都不会将表单发送给服务器的,直到正确填写完整个表单之后才将表单发送给服务器。

  以上程序的原理实质是获得表单中各元素的值“value”,然后加上是否等于“==”某些设定的内容,或者说本身固有的内容(比如EMAIL的@)。

  按此你可以加以扩充它的功能,比如完善Email的检验功能,加上判断“@”后的邮件服务器的地址和一点“.”。如下图:



  也可以增加对发信内容进行校验。增加的代码是获得发信内容文本框的值:
document.theform.发信内容的文本框名.value == ""

点击此处去测试效果页,并获得源代码。