﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-一杯清茶-随笔分类-Ajax</title><link>http://www.blogjava.net/huyi0616/category/28659.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 11 Aug 2010 10:59:26 GMT</lastBuildDate><pubDate>Wed, 11 Aug 2010 10:59:26 GMT</pubDate><ttl>60</ttl><item><title>jquery.validate.js表单验证</title><link>http://www.blogjava.net/huyi0616/archive/2010/08/10/328368.html</link><dc:creator>一杯清茶</dc:creator><author>一杯清茶</author><pubDate>Tue, 10 Aug 2010 01:38:00 GMT</pubDate><guid>http://www.blogjava.net/huyi0616/archive/2010/08/10/328368.html</guid><wfw:comment>http://www.blogjava.net/huyi0616/comments/328368.html</wfw:comment><comments>http://www.blogjava.net/huyi0616/archive/2010/08/10/328368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huyi0616/comments/commentRss/328368.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huyi0616/services/trackbacks/328368.html</trackback:ping><description><![CDATA[转自：http://hi.baidu.com/greenandcoffee/blog/item/5ebe5850e2cfbb551138c24d.html<br />
<br />
<p>&nbsp;</p>
<div class="blog_content">
<p>一、用前必备<br />
官方网站：<a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/"><span style="color: #108ac6">http://bassistance.de/jquery-plugins/jquery-plugin-validation/</span></a><br />
API: <a href="http://jquery.bassistance.de/api-browser/plugins.html"><span style="color: #108ac6">http://jquery.bassistance.de/api-browser/plugins.html</span></a><br />
当前版本：1.5.5<br />
需要JQuery版本：1.2.6+, 兼容 1.3.2<br />
&lt;script src="../js/jquery.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;script src="../js/jquery.validate.js" type="text/javascript"&gt;&lt;/script&gt;</p>
<p>二、默认校验规则<br />
(1)required:true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必输字段<br />
(2)remote:"check.php"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用ajax方法调用check.php验证输入值<br />
(3)email:true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必须输入正确格式的电子邮件<br />
(4)url:true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必须输入正确格式的网址<br />
(5)date:true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必须输入正确格式的日期<br />
(6)dateISO:true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必须输入正确格式的日期(ISO)，例如：2009-06-23，1998/01/22 只验证格式，不验证有效性<br />
(7)number:true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必须输入合法的数字(负数，小数)<br />
(8)digits:true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必须输入整数<br />
(9)creditcard:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必须输入合法的信用卡号<br />
(10)equalTo:"#field"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入值必须和#field相同<br />
(11)accept:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入拥有合法后缀名的字符串（上传文件的后缀）<br />
(12)maxlength:5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入长度最多是5的字符串(汉字算一个字符)<br />
(13)minlength:10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入长度最小是10的字符串(汉字算一个字符)<br />
(14)rangelength:[5,10]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)<br />
(15)range:[5,10]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入值必须介于 5 和 10 之间<br />
(16)max:5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入值不能大于5<br />
(17)min:10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入值不能小于10</p>
<p>三、默认的提示<br />
messages: {<br />
&nbsp;&nbsp;&nbsp; required: "This field is required.",<br />
&nbsp;&nbsp;&nbsp; remote: "Please fix this field.",<br />
&nbsp;&nbsp;&nbsp; email: "Please enter a valid email address.",<br />
&nbsp;&nbsp;&nbsp; url: "Please enter a valid URL.",<br />
&nbsp;&nbsp;&nbsp; date: "Please enter a valid date.",<br />
&nbsp;&nbsp;&nbsp; dateISO: "Please enter a valid date (ISO).",<br />
&nbsp;&nbsp;&nbsp; dateDE: "Bitte geben Sie ein g眉ltiges Datum ein.",<br />
&nbsp;&nbsp;&nbsp; number: "Please enter a valid number.",<br />
&nbsp;&nbsp;&nbsp; numberDE: "Bitte geben Sie eine Nummer ein.",<br />
&nbsp;&nbsp;&nbsp; digits: "Please enter only digits",<br />
&nbsp;&nbsp;&nbsp; creditcard: "Please enter a valid credit card number.",<br />
&nbsp;&nbsp;&nbsp; equalTo: "Please enter the same value again.",<br />
&nbsp;&nbsp;&nbsp; accept: "Please enter a value with a valid extension.",<br />
&nbsp;&nbsp;&nbsp; maxlength: $.validator.format("Please enter no more than {0} characters."),<br />
&nbsp;&nbsp;&nbsp; minlength: $.validator.format("Please enter at least {0} characters."),<br />
&nbsp;&nbsp;&nbsp; rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),<br />
&nbsp;&nbsp;&nbsp; range: $.validator.format("Please enter a value between {0} and {1}."),<br />
&nbsp;&nbsp;&nbsp; max: $.validator.format("Please enter a value less than or equal to {0}."),<br />
&nbsp;&nbsp;&nbsp; min: $.validator.format("Please enter a value greater than or equal to {0}.")<br />
},<br />
如需要修改，可在js代码中加入：<br />
jQuery.extend(jQuery.validator.messages, {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required: "必选字段",<br />
remote: "请修正该字段",<br />
email: "请输入正确格式的电子邮件",<br />
url: "请输入合法的网址",<br />
date: "请输入合法的日期",<br />
dateISO: "请输入合法的日期 (ISO).",<br />
number: "请输入合法的数字",<br />
digits: "只能输入整数",<br />
creditcard: "请输入合法的信用卡号",<br />
equalTo: "请再次输入相同的值",<br />
accept: "请输入拥有合法后缀名的字符串",<br />
maxlength: jQuery.validator.format("请输入一个长度最多是 {0} 的字符串"),<br />
minlength: jQuery.validator.format("请输入一个长度最少是 {0} 的字符串"),<br />
rangelength: jQuery.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),<br />
range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),<br />
max: jQuery.validator.format("请输入一个最大为 {0} 的值"),<br />
min: jQuery.validator.format("请输入一个最小为 {0} 的值")<br />
});<br />
推荐做法，将此文件放入messages_cn.js中，在页面中引入<br />
&lt;script src="../js/messages_cn.js" type="text/javascript"&gt;&lt;/script&gt;</p>
<p>四、使用方式<br />
1.将校验规则写到控件中<br />
&lt;script src="../js/jquery.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;script src="../js/jquery.validate.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;script src="./js/jquery.metadata.js" type="text/javascript"&gt;&lt;/script&gt;<br />
$().ready(function() {<br />
$("#signupForm").validate();<br />
});</p>
<p>&lt;form id="signupForm" method="get" action=""&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label for="firstname"&gt;Firstname&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input id="firstname" name="firstname" class="required" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;label for="email"&gt;E-Mail&lt;/label&gt;<br />
&lt;input id="email" name="email" class="required email" /&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;label for="password"&gt;Password&lt;/label&gt;<br />
&lt;input id="password" name="password" type="password" class="{required:true,minlength:5}" /&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;label for="confirm_password"&gt;确认密码&lt;/label&gt;<br />
&lt;input id="confirm_password" name="confirm_password" type="password" class="{required:true,minlength:5,equalTo:'#password'}" /&gt;<br />
&lt;/p&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input class="submit" type="submit" value="Submit"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/p&gt;<br />
&lt;/form&gt;<br />
使用class="{}"的方式，必须引入包：jquery.metadata.js<br />
可以使用如下的方法，修改提示内容：<br />
class="{required:true,minlength:5,messages:{required:'请输入内容'}}"<br />
在使用equalTo关键字时，后面的内容必须加上引号，如下代码：<br />
class="{required:true,minlength:5,equalTo:'#password'}"<br />
另外一个方式，使用关键字：meta（为了元数据使用其他插件你要包装 你的验证规则 在他们自己的项目中可以用这个特殊的选项）<br />
Tell the validation plugin to look inside a validate-property in metadata for validation rules.<br />
例如：<br />
meta: "validate"<br />
&lt;input id="password" name="password" type="password" class="{validate:{required:true,minlength:5}}" /&gt;</p>
<p>再有一种方式：<br />
$.metadata.setType("attr", "validate");<br />
这样可以使用validate="{required:true}"的方式，或者class="required"，但class="{required:true,minlength:5}"将不起作用<br />
<br />
2.将校验规则写到代码中</p>
<p>$().ready(function() {<br />
$("#signupForm").validate({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rules: {<br />
&nbsp;&nbsp; firstname: "required",<br />
&nbsp;&nbsp; email: {<br />
&nbsp;&nbsp;&nbsp; required: true,<br />
&nbsp;&nbsp;&nbsp; email: true<br />
&nbsp;&nbsp; },<br />
&nbsp;&nbsp; password: {<br />
&nbsp;&nbsp;&nbsp; required: true,<br />
&nbsp;&nbsp;&nbsp; minlength: 5<br />
&nbsp;&nbsp; },<br />
&nbsp;&nbsp; confirm_password: {<br />
&nbsp;&nbsp;&nbsp; required: true,<br />
&nbsp;&nbsp;&nbsp; minlength: 5,<br />
&nbsp;&nbsp;&nbsp; equalTo: "#password"<br />
&nbsp;&nbsp; }<br />
},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; messages: {<br />
&nbsp;&nbsp; firstname: "请输入姓名",<br />
&nbsp;&nbsp; email: {<br />
&nbsp;&nbsp;&nbsp; required: "请输入Email地址",<br />
&nbsp;&nbsp;&nbsp; email: "请输入正确的email地址"<br />
&nbsp;&nbsp; },<br />
&nbsp;&nbsp; password: {<br />
&nbsp;&nbsp;&nbsp; required: "请输入密码",<br />
&nbsp;&nbsp;&nbsp; minlength: jQuery.format("密码不能小于{0}个字符")<br />
&nbsp;&nbsp; },<br />
&nbsp;&nbsp; confirm_password: {<br />
&nbsp;&nbsp;&nbsp; required: "请输入确认密码",<br />
&nbsp;&nbsp;&nbsp; minlength: "确认密码不能小于5个字符",<br />
&nbsp;&nbsp;&nbsp; equalTo: "两次输入密码不一致不一致"<br />
&nbsp;&nbsp; }<br />
}<br />
&nbsp;&nbsp;&nbsp; });<br />
});<br />
//messages处，如果某个控件没有message，将调用默认的信息</p>
<p>&lt;form id="signupForm" method="get" action=""&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label for="firstname"&gt;Firstname&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input id="firstname" name="firstname" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;label for="email"&gt;E-Mail&lt;/label&gt;<br />
&lt;input id="email" name="email" /&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;label for="password"&gt;Password&lt;/label&gt;<br />
&lt;input id="password" name="password" type="password" /&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;label for="confirm_password"&gt;确认密码&lt;/label&gt;<br />
&lt;input id="confirm_password" name="confirm_password" type="password" /&gt;<br />
&lt;/p&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;p&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input class="submit" type="submit" value="Submit"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/p&gt;<br />
&lt;/form&gt;<br />
required:true 必须有值<br />
required:"#aa:checked"表达式的值为真，则需要验证<br />
required:function(){}返回为真，表时需要验证<br />
后边两种常用于，表单中需要同时填或不填的元素<br />
<br />
五、常用方法及注意问题<br />
1.用其他方式替代默认的SUBMIT<br />
$().ready(function() {<br />
$("#signupForm").validate({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; submitHandler:function(form){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("submitted");&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form.submit();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; });<br />
});<br />
可以设置validate的默认值，写法如下：<br />
$.validator.setDefaults({<br />
submitHandler: function(form) { alert("submitted!");form.submit(); }<br />
});<br />
如果想提交表单, 需要使用form.submit()而不要使用$(form).submit()</p>
<p>2.debug，如果这个参数为true，那么表单不会提交，只进行检查，调试时十分方便<br />
$().ready(function() {<br />
$("#signupForm").validate({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; debug:true<br />
&nbsp;&nbsp;&nbsp; });<br />
});<br />
如果一个页面中有多个表单，用<br />
$.validator.setDefaults({<br />
&nbsp;&nbsp; debug: true<br />
})</p>
<p>3.ignore：忽略某些元素不验证<br />
ignore: ".ignore"</p>
<p>4.errorPlacement：Callback Default: 把错误信息放在验证的元素后面 <br />
指明错误放置的位置，默认情况是：error.appendTo(element.parent());即把错误信息放在验证的元素后面 <br />
errorPlacement: function(error, element) {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; error.appendTo(element.parent());&nbsp;&nbsp; <br />
}<br />
//示例：<br />
&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td class="label"&gt;&lt;label id="lfirstname" for="firstname"&gt;First Name&lt;/label&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td class="field"&gt;&lt;input id="firstname" name="firstname" type="text" value="" maxlength="100" /&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td class="status"&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td style="padding-right: 5px;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input id="dateformat_eu" name="dateformat" type="radio" value="0" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label id="ldateformat_eu" for="dateformat_eu"&gt;14/02/07&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td style="padding-left: 5px;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input id="dateformat_am" name="dateformat" type="radio" value="1" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label id="ldateformat_am" for="dateformat_am"&gt;02/14/07&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td class="label"&gt;&amp;nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;td class="field" colspan="2"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id="termswrap"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input id="terms" type="checkbox" name="terms" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;label id="lterms" for="terms"&gt;I have read and accept the Terms of Use.&lt;/label&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />
&lt;/tr&gt;<br />
errorPlacement: function(error, element) {<br />
&nbsp;&nbsp;&nbsp; if ( element.is(":radio") )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error.appendTo( element.parent().next().next() );<br />
&nbsp;&nbsp;&nbsp; else if ( element.is(":checkbox") )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error.appendTo ( element.next() );<br />
&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; error.appendTo( element.parent().next() );<br />
}<br />
代码的作用是：一般情况下把错误信息显示在&lt;td class="status"&gt;&lt;/td&gt;中，如果是radio显示在&lt;td&gt;&lt;/td&gt;中，如果是checkbox显示在内容的后面<br />
errorClass：String Default: "error" <br />
指定错误提示的css类名，可以自定义错误提示的样式<br />
errorElement：String Default: "label" <br />
用什么标签标记错误，默认的是label你可以改成em<br />
errorContainer：Selector <br />
显示或者隐藏验证信息，可以自动实现有错误信息出现时把容器属性变为显示，无错误时隐藏，用处不大<br />
errorContainer: "#messageBox1, #messageBox2"<br />
errorLabelContainer：Selector <br />
把错误信息统一放在一个容器里面。<br />
wrapper：String<br />
用什么标签再把上边的errorELement包起来<br />
一般这三个属性同时使用，实现在一个容器内显示所有错误提示的功能，并且没有信息时自动隐藏<br />
errorContainer: "div.error",<br />
errorLabelContainer: $("#signupForm div.error"),<br />
wrapper: "li"<br />
<br />
设置错误提示的样式，可以增加图标显示<br />
input.error { border: 1px solid red; }<br />
label.error {<br />
background:url("./demo/images/unchecked.gif") no-repeat 0px 0px;<br />
padding-left: 16px;<br />
padding-bottom: 2px;<br />
font-weight: bold;<br />
color: #EA5200;<br />
}<br />
label.checked {<br />
background:url("./demo/images/checked.gif") no-repeat 0px 0px;<br />
}<br />
success：String,Callback <br />
要验证的元素通过验证后的动作，如果跟一个字符串，会当做一个css类，也可跟一个函数<br />
success: function(label) {<br />
&nbsp;&nbsp;&nbsp; // set &amp;nbsp; as text for IE<br />
&nbsp;&nbsp;&nbsp; label.html("&amp;nbsp;").addClass("checked");<br />
&nbsp;&nbsp;&nbsp; //label.addClass("valid").text("Ok!")<br />
}<br />
添加"valid" 到验证元素, 在CSS中定义的样式&lt;style&gt;label.valid {}&lt;/style&gt;<br />
success: "valid"<br />
<br />
<br />
nsubmit： Boolean Default: true <br />
提交时验证. 设置唯false就用其他方法去验证<br />
onfocusout：Boolean Default: true <br />
失去焦点是验证(不包括checkboxes/radio buttons) <br />
onkeyup：Boolean Default: true <br />
在keyup时验证.<br />
onclick：Boolean Default: true <br />
在checkboxes 和 radio 点击时验证<br />
focusInvalid：Boolean Default: true <br />
提交表单后，未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点<br />
focusCleanup：Boolean Default: false <br />
如果是true那么当未通过验证的元素获得焦点时，移除错误提示。避免和 focusInvalid 一起用<br />
<br />
// 重置表单<br />
$().ready(function() {<br />
var validator = $("#signupForm").validate({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; submitHandler:function(form){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("submitted");&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form.submit();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; });<br />
&nbsp;&nbsp;&nbsp; $("#reset").click(function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; validator.resetForm();<br />
&nbsp;&nbsp;&nbsp; });<br />
});<br />
<br />
remote：URL<br />
使用ajax方式进行验证，默认会提交当前验证的值到远程地址，如果需要提交其他的值，可以使用data选项<br />
remote: "check-email.php"<br />
remote: {<br />
&nbsp;&nbsp;&nbsp; url: "check-email.php",&nbsp;&nbsp;&nbsp;&nbsp; //后台处理程序<br />
&nbsp;&nbsp;&nbsp; type: "post",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //数据发送方式<br />
&nbsp;&nbsp;&nbsp; dataType: "json",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //接受数据格式&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; data: {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //要传递的数据<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; username: function() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $("#username").val();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}</p>
<p>远程地址只能输出 "true" 或 "false"，不能有其它输出<br />
<br />
<br />
addMethod：name, method, message<br />
自定义验证方法</p>
<p>// 中文字两个字节<br />
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {<br />
&nbsp;&nbsp;&nbsp; var length = value.length;<br />
&nbsp;&nbsp;&nbsp; for(var i = 0; i &lt; value.length; i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(value.charCodeAt(i) &gt; 127){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; length++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
return this.optional(element) || ( length &gt;= param[0] &amp;&amp; length &lt;= param[1] );&nbsp;&nbsp;&nbsp; <br />
}, $.validator.format("请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)"));</p>
<p>// 邮政编码验证&nbsp;&nbsp;&nbsp; <br />
jQuery.validator.addMethod("isZipCode", function(value, element) {&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; var tel = /^[0-9]{6}$/;<br />
&nbsp;&nbsp;&nbsp; return this.optional(element) || (tel.test(value));<br />
}, "请正确填写您的邮政编码");</p>
<p>radio和checkbox、select的验证<br />
radio的required表示必须选中一个<br />
&lt;input type="radio" id="gender_male" value="m" name="gender" class="{required:true}" /&gt;<br />
&lt;input type="radio" id="gender_female" value="f" name="gender"/&gt;<br />
checkbox的required表示必须选中<br />
&lt;input type="checkbox" class="checkbox" id="agree" name="agree" class="{required:true}" /&gt;<br />
checkbox的minlength表示必须选中的最小个数,maxlength表示最大的选中个数,rangelength:[2,3]表示选中个数区间<br />
&lt;input type="checkbox" class="checkbox" id="spam_email" value="email" name="spam[]" class="{required:true, minlength:2}" /&gt;<br />
&lt;input type="checkbox" class="checkbox" id="spam_phone" value="phone" name="spam[]" /&gt;<br />
&lt;input type="checkbox" class="checkbox" id="spam_mail" value="mail" name="spam[]" /&gt;</p>
<p>select的required表示选中的value不能为空<br />
&lt;select id="jungle" name="jungle" title="Please select something!" class="{required:true}"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;option value=""&gt;&lt;/option&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;option value="1"&gt;Buga&lt;/option&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;option value="2"&gt;Baga&lt;/option&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;option value="3"&gt;Oi&lt;/option&gt;<br />
&lt;/select&gt;<br />
select的minlength表示选中的最小个数（可多选的select）,maxlength表示最大的选中个数,rangelength:[2,3]表示选中个数区间<br />
&lt;select id="fruit" name="fruit" title="Please select at least two fruits" class="{required:true, minlength:2}" multiple="multiple"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;option value="b"&gt;Banana&lt;/option&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;option value="a"&gt;Apple&lt;/option&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;option value="p"&gt;Peach&lt;/option&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;option value="t"&gt;Turtle&lt;/option&gt;<br />
&lt;/select&gt;</p>
</div>
<img src ="http://www.blogjava.net/huyi0616/aggbug/328368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huyi0616/" target="_blank">一杯清茶</a> 2010-08-10 09:38 <a href="http://www.blogjava.net/huyi0616/archive/2010/08/10/328368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS精确计算</title><link>http://www.blogjava.net/huyi0616/archive/2010/03/29/316794.html</link><dc:creator>一杯清茶</dc:creator><author>一杯清茶</author><pubDate>Mon, 29 Mar 2010 03:05:00 GMT</pubDate><guid>http://www.blogjava.net/huyi0616/archive/2010/03/29/316794.html</guid><wfw:comment>http://www.blogjava.net/huyi0616/comments/316794.html</wfw:comment><comments>http://www.blogjava.net/huyi0616/archive/2010/03/29/316794.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huyi0616/comments/commentRss/316794.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huyi0616/services/trackbacks/316794.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_26_231_Open_Image" onclick="this.style.display='none'; Codehighlighter1_26_231_Open_Text.style.display='none'; Codehighlighter1_26_231_Closed_Image.style.display='inline'; Codehighlighter1_26_231_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_26_231_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_26_231_Closed_Text.style.display='none'; Codehighlighter1_26_231_Open_Image.style.display='inline'; Codehighlighter1_26_231_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;accAdd(arg1,arg2)</span><span id="Codehighlighter1_26_231_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_26_231_Open_Text"><span style="color: #000000">{&nbsp;<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;r1,r2,m;&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img id="Codehighlighter1_50_90_Open_Image" onclick="this.style.display='none'; Codehighlighter1_50_90_Open_Text.style.display='none'; Codehighlighter1_50_90_Closed_Image.style.display='inline'; Codehighlighter1_50_90_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_50_90_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_50_90_Closed_Text.style.display='none'; Codehighlighter1_50_90_Open_Image.style.display='inline'; Codehighlighter1_50_90_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span id="Codehighlighter1_50_90_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_50_90_Open_Text"><span style="color: #000000">{r1</span><span style="color: #000000">=</span><span style="color: #000000">arg1.toString().split(</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">)[</span><span style="color: #000000">1</span><span style="color: #000000">].length}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(e)</span><span id="Codehighlighter1_99_104_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_99_104_Open_Text"><span style="color: #000000">{r1</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img id="Codehighlighter1_112_152_Open_Image" onclick="this.style.display='none'; Codehighlighter1_112_152_Open_Text.style.display='none'; Codehighlighter1_112_152_Closed_Image.style.display='inline'; Codehighlighter1_112_152_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_112_152_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_112_152_Closed_Text.style.display='none'; Codehighlighter1_112_152_Open_Image.style.display='inline'; Codehighlighter1_112_152_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span id="Codehighlighter1_112_152_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_112_152_Open_Text"><span style="color: #000000">{r2</span><span style="color: #000000">=</span><span style="color: #000000">arg2.toString().split(</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">)[</span><span style="color: #000000">1</span><span style="color: #000000">].length}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(e)</span><span id="Codehighlighter1_161_166_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_161_166_Open_Text"><span style="color: #000000">{r2</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m</span><span style="color: #000000">=</span><span style="color: #000000">Math.pow(</span><span style="color: #000000">10</span><span style="color: #000000">,Math.max(r1,r2))&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;(arg1</span><span style="color: #000000">*</span><span style="color: #000000">m</span><span style="color: #000000">+</span><span style="color: #000000">arg2</span><span style="color: #000000">*</span><span style="color: #000000">m)</span><span style="color: #000000">/</span><span style="color: #000000">m&nbsp;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_260_465_Open_Image" onclick="this.style.display='none'; Codehighlighter1_260_465_Open_Text.style.display='none'; Codehighlighter1_260_465_Closed_Image.style.display='inline'; Codehighlighter1_260_465_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_260_465_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_260_465_Closed_Text.style.display='none'; Codehighlighter1_260_465_Open_Image.style.display='inline'; Codehighlighter1_260_465_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;accSub(arg1,arg2)</span><span id="Codehighlighter1_260_465_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_260_465_Open_Text"><span style="color: #000000">{&nbsp;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;r1,r2,m;&nbsp;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img id="Codehighlighter1_284_324_Open_Image" onclick="this.style.display='none'; Codehighlighter1_284_324_Open_Text.style.display='none'; Codehighlighter1_284_324_Closed_Image.style.display='inline'; Codehighlighter1_284_324_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_284_324_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_284_324_Closed_Text.style.display='none'; Codehighlighter1_284_324_Open_Image.style.display='inline'; Codehighlighter1_284_324_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span id="Codehighlighter1_284_324_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_284_324_Open_Text"><span style="color: #000000">{r1</span><span style="color: #000000">=</span><span style="color: #000000">arg1.toString().split(</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">)[</span><span style="color: #000000">1</span><span style="color: #000000">].length}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(e)</span><span id="Codehighlighter1_333_338_Open_Text"><span style="color: #000000">{r1</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img id="Codehighlighter1_346_386_Open_Image" onclick="this.style.display='none'; Codehighlighter1_346_386_Open_Text.style.display='none'; Codehighlighter1_346_386_Closed_Image.style.display='inline'; Codehighlighter1_346_386_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_346_386_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_346_386_Closed_Text.style.display='none'; Codehighlighter1_346_386_Open_Image.style.display='inline'; Codehighlighter1_346_386_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span id="Codehighlighter1_346_386_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_346_386_Open_Text"><span style="color: #000000">{r2</span><span style="color: #000000">=</span><span style="color: #000000">arg2.toString().split(</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">)[</span><span style="color: #000000">1</span><span style="color: #000000">].length}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(e)</span><span id="Codehighlighter1_395_400_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_395_400_Open_Text"><span style="color: #000000">{r2</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m</span><span style="color: #000000">=</span><span style="color: #000000">Math.pow(</span><span style="color: #000000">10</span><span style="color: #000000">,Math.max(r1,r2))&nbsp;<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;(arg1</span><span style="color: #000000">*</span><span style="color: #000000">m</span><span style="color: #000000">-</span><span style="color: #000000">arg2</span><span style="color: #000000">*</span><span style="color: #000000">m)</span><span style="color: #000000">/</span><span style="color: #000000">m&nbsp;<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_493_784_Open_Image" onclick="this.style.display='none'; Codehighlighter1_493_784_Open_Text.style.display='none'; Codehighlighter1_493_784_Closed_Image.style.display='inline'; Codehighlighter1_493_784_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_493_784_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_493_784_Closed_Text.style.display='none'; Codehighlighter1_493_784_Open_Image.style.display='inline'; Codehighlighter1_493_784_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;accDiv(arg1,arg2)</span><span id="Codehighlighter1_493_784_Open_Text"><span style="color: #000000">{&nbsp;<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;t1</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">,t2</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">,r1,r2;&nbsp;<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img id="Codehighlighter1_523_563_Open_Image" onclick="this.style.display='none'; Codehighlighter1_523_563_Open_Text.style.display='none'; Codehighlighter1_523_563_Closed_Image.style.display='inline'; Codehighlighter1_523_563_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_523_563_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_523_563_Closed_Text.style.display='none'; Codehighlighter1_523_563_Open_Image.style.display='inline'; Codehighlighter1_523_563_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span id="Codehighlighter1_523_563_Open_Text"><span style="color: #000000">{t1</span><span style="color: #000000">=</span><span style="color: #000000">arg1.toString().split(</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">)[</span><span style="color: #000000">1</span><span style="color: #000000">].length}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(e)</span><span id="Codehighlighter1_572_573_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img id="Codehighlighter1_580_620_Open_Image" onclick="this.style.display='none'; Codehighlighter1_580_620_Open_Text.style.display='none'; Codehighlighter1_580_620_Closed_Image.style.display='inline'; Codehighlighter1_580_620_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_580_620_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_580_620_Closed_Text.style.display='none'; Codehighlighter1_580_620_Open_Image.style.display='inline'; Codehighlighter1_580_620_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span id="Codehighlighter1_580_620_Open_Text"><span style="color: #000000">{t2</span><span style="color: #000000">=</span><span style="color: #000000">arg2.toString().split(</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">)[</span><span style="color: #000000">1</span><span style="color: #000000">].length}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">(e)</span><span id="Codehighlighter1_629_630_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img id="Codehighlighter1_644_781_Open_Image" onclick="this.style.display='none'; Codehighlighter1_644_781_Open_Text.style.display='none'; Codehighlighter1_644_781_Closed_Image.style.display='inline'; Codehighlighter1_644_781_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_644_781_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_644_781_Closed_Text.style.display='none'; Codehighlighter1_644_781_Open_Image.style.display='inline'; Codehighlighter1_644_781_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">with</span><span style="color: #000000">(Math)</span><span id="Codehighlighter1_644_781_Open_Text"><span style="color: #000000">{&nbsp;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r1</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Number(arg1.toString().replace(</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">""</span><span style="color: #000000">))&nbsp;<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r2</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Number(arg2.toString().replace(</span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">""</span><span style="color: #000000">))&nbsp;<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;(r1</span><span style="color: #000000">/</span><span style="color: #000000">r2)</span><span style="color: #000000">*</span><span style="color: #000000">pow(</span><span style="color: #000000">10</span><span style="color: #000000">,t2</span><span style="color: #000000">-</span><span style="color: #000000">t1);&nbsp;<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">&nbsp;</span></div>
<img src ="http://www.blogjava.net/huyi0616/aggbug/316794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huyi0616/" target="_blank">一杯清茶</a> 2010-03-29 11:05 <a href="http://www.blogjava.net/huyi0616/archive/2010/03/29/316794.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>