JS表单验证

时间:2012-04-30 04:06:04

标签: javascript forms validation

我有一个大表单需要一个函数来验证整个表单。

我的表单名称是“orderform”我已经在表单中正确设置了所有内容,现在我只需要添加到该函数中。

我需要确保电子邮件地址输入并且有效,其形式称为“emailaddress”,我需要在功能中包含哪些内容才会发生这种情况?

此外,我有2个单选按钮,我需要它,以便当选择一个时没有任何反应,但是当选择另一个时,它会验证另一个部分,例如其他地址。

有人可以伸出援助之手吗?

哦,最后一件事,必须简单,但如何验证数字字段并确保它具有一定的长度,例如邮政编码。

谢谢大家!!!!

2 个答案:

答案 0 :(得分:1)

这是很常见的事情。你检查过任何JS验证插件或框架吗?他们中的大多数已经拥有常见的验证模式,如必填字段,数字,电子邮件地址等。

jQuery Validation内置了电子邮件地址,编号,网址验证程序。它还允许您添加自己的验证器。

我看到丢失的网站验证者不接受我的电子邮件地址与“INFO”TLD。验证电子邮件地址的正则表达式并不那么简单。以下是jQuery Validator的摘录:

/**
 * jQuery Validation Plugin 1.9.0
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2011 Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
// http://docs.jquery.com/Plugins/Validation/Methods/email
    email: function(value, element) {
        // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
        return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value);
    },

答案 1 :(得分:1)

您可以使用以下方式访问表单中的信息:

document.yourformname.elementname

要了解如何验证它们,QuirksMode有一个非常出色的介绍,包括您需要的收音机和复选框。表单验证在一篇文章中太大而无法回答。 ;)