0

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

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

我需要确保输入的电子邮件地址有效,它被称为“电子邮件地址”,我需要在函数中包含什么才能发生这种情况?

另外,我有 2 个单选按钮,我需要它,这样当一个被选中时什么都不会发生,但是当另一个被选中时,它会验证另一个部分,例如其他地址。

有人可以帮忙吗?

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

感谢大家!!!!

4

2 回答 2

1

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

document.yourformname.elementname

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

于 2012-04-30T04:12:29.210 回答
1

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

jQuery Validation内置了用于电子邮件地址、数字、URL 的验证器。它还允许您添加自己的验证器。

我见过一些网站,其中验证器不接受我带有“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);
    },
于 2012-04-30T04:08:58.253 回答