﻿<?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-&lt;marquee behavior=scroll scrollamount=1&gt;梦想有多远我们就能走多远......&lt;/marquee&gt;</title><link>http://www.blogjava.net/zhpeng/</link><description>&lt;font filter:glow(color=#ffff00,strength=5)&gt;--zhpeng&lt;/font&gt;</description><language>zh-cn</language><lastBuildDate>Sat, 02 May 2026 20:59:15 GMT</lastBuildDate><pubDate>Sat, 02 May 2026 20:59:15 GMT</pubDate><ttl>60</ttl><item><title>合格程序员的素质</title><link>http://www.blogjava.net/zhpeng/archive/2008/05/15/200586.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Thu, 15 May 2008 02:48:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2008/05/15/200586.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/200586.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2008/05/15/200586.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/200586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/200586.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:    程序员是一种技术工作，在IT的发展中有相当重要的地位，从底层硬件通讯协议的建立，到数据传输层的处理，到操作系统的建设，到数据库平台的建设，一直到应用层上各种数据营销平台的搭建，程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大的贡献。&nbsp;&nbsp;<a href='http://www.blogjava.net/zhpeng/archive/2008/05/15/200586.html'>阅读全文</a><img src ="http://www.blogjava.net/zhpeng/aggbug/200586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2008-05-15 10:48 <a href="http://www.blogjava.net/zhpeng/archive/2008/05/15/200586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决浏览器缓存的问题</title><link>http://www.blogjava.net/zhpeng/archive/2007/11/30/164247.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Fri, 30 Nov 2007 05:48:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/11/30/164247.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/164247.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/11/30/164247.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/164247.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/164247.html</trackback:ping><description><![CDATA[&lt;%<br />
if(request.getProtocol().compareTo("HTTP/1.0")==0)<br />
&nbsp;&nbsp; response.setHeader("Pragma","no-cache");<br />
else if(request.getProtocol().compareTo("HTTP/1.1")==0)<br />
&nbsp;&nbsp; response.setHeader("Cache-Control","no-cache");<br />
&nbsp;&nbsp; response.setDateHeader("Expires",0);<br />
%&gt;
<img src ="http://www.blogjava.net/zhpeng/aggbug/164247.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-11-30 13:48 <a href="http://www.blogjava.net/zhpeng/archive/2007/11/30/164247.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十步让System与Oracle彻底断绝关系</title><link>http://www.blogjava.net/zhpeng/archive/2007/10/26/156084.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Fri, 26 Oct 2007 04:13:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/10/26/156084.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/156084.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/10/26/156084.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/156084.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/156084.html</trackback:ping><description><![CDATA[&nbsp;
<p style="color: black; text-align: left; tab-stops: list 36.0pt"><span style="font-size: 9pt; font-family: 宋体">&nbsp;&nbsp;&nbsp;&nbsp; 卸载步骤：</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">1</span><span style="font-size: 12pt; color: black; font-family: 宋体">、开始－＞设置－＞控制面板－＞管理工具－＞服务</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">&nbsp;&nbsp; </span><span style="font-size: 12pt; color: black; font-family: 宋体">停止所有Oracle服务。</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">2</span><span style="font-size: 12pt; color: black; font-family: 宋体">、开始－＞程序－＞Oracle Installation Products－＞Universal Installer，卸装所有Oracle产品</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">3</span><span style="font-size: 12pt; color: black; font-family: 宋体">、运行regedit，选择HKEY_LOCAL_MACHINE"SOFTWARE"ORACLE，按del键删除这个入口。</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">4</span><span style="font-size: 12pt; color: black; font-family: 宋体">、运行regedit，选择HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services，滚动这个列表，删除所有Oracle入口</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">5</span><span style="font-size: 12pt; color: black; font-family: 宋体">、运行regedit,选择</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"Eventlog"Application</span><span style="font-size: 12pt; color: black; font-family: 宋体">，滚动这个列表，删除所有Oracle入口</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">6</span><span style="font-size: 12pt; color: black; font-family: 宋体">、删除Oracle环境变量。执行&#8220;控制面板&#8221;－&#8220;系统&#8221;，通过&#8220;高级&#8221;选项卡中，打开&#8220;环境变量&#8221;对话框，删除与Oracle相关的系统变量。如&#8220;JSERV&#8221;变量和&#8220;Path&#8221;变量中的Oracle路径。</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">7</span><span style="font-size: 12pt; color: black; font-family: 宋体">、删除Oracle菜单，方法是执行&#8220;开始&#8221;－&#8220;程序&#8221;－Oracle OraHome92命令。</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">8</span><span style="font-size: 12pt; color: black; font-family: 宋体">、删除&#8220;c:"Program Files"Oracle&#8221;目录。 </span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">9</span><span style="font-size: 12pt; color: black; font-family: 宋体">、重新启动计算机，重起后才能完全删除Oracle所在目录</span></p>
<p style="margin-left: 18pt; text-align: left; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体">10</span><span style="font-size: 12pt; color: black; font-family: 宋体">、删除安装主目录&#8220;d:"oracle&#8221;。<br />
<br />
&nbsp;&nbsp;&nbsp;此时，你的系统与Oracle再也没有任何关系.</span></p>
<img src ="http://www.blogjava.net/zhpeng/aggbug/156084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-10-26 12:13 <a href="http://www.blogjava.net/zhpeng/archive/2007/10/26/156084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>下一代Web开发方向及Portal认识</title><link>http://www.blogjava.net/zhpeng/archive/2007/09/04/142610.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Tue, 04 Sep 2007 05:52:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/09/04/142610.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/142610.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/09/04/142610.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/142610.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/142610.html</trackback:ping><description><![CDATA[&nbsp;
<p style="text-indent: 21pt"><span style="font-family: 宋体">许多大型企业的网站</span>, <span style="font-family: 宋体">渐渐采用了</span> portal server <span style="font-family: 宋体">作为开发的基础</span>. <span style="font-family: 宋体">至于什么是</span> portal <span style="font-family: 宋体">呢</span>, <span style="font-family: 宋体">中文翻译为</span> "<span style="font-family: 宋体">门户网站</span>"<span style="font-family: 宋体">。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">如果你从来沒有用过</span> portal server <span style="font-family: 宋体">或是似懂非懂</span>..<span style="font-family: 宋体">可以到</span>www.3721.com<span style="font-family: 宋体">看看</span>.</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">如果你第一次接触到</span> portal<span style="font-family: 宋体">，你会惊讶的发现</span>... <span style="font-family: 宋体">哇</span>.. <span style="font-family: 宋体">为何一个网站里面充满了这么多小窗口</span>. <span style="font-family: 宋体">我们称这些小窗口叫做</span> "portlet"<span style="font-family: 宋体">，而且每个小窗口都存在着独立的信息与内容，可以放到最大化，缩小，还原，关闭等等。当你登陆之后，可以选择及调整自己</span> portlet <span style="font-family: 宋体">的配置，也可以设置自己喜爱的风格与样式，更可以设置每个</span> portlet <span style="font-family: 宋体">的资料配置。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">这种以客户为上帝的系统，就是下面将要介绍的</span> portal<span style="font-family: 宋体">。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">简单地说，Portal就是所需要的信息。定义一：一个机构的Portal是为其信息提供的个性化和便携访问的单一入口点。根据该定义，我们从中可以得出，传统的报纸，广播和注重内容的有线TV频道等都可以称作Portal。但是随着社会的不断发展，信息内容以爆炸性的速度飞涨，这些都已经过时。随着互联网的兴起，</span><span style="font-family: 宋体">沟通无限、跨越时空的互联网给人们带来的是机遇更是挑战，面对如潮信息，信息高效、廉价、有向、有序的流动成为互联网最根本的需求，</span><span style="font-family: 宋体">从而基于Web的portal便成为新的流行，被广大的用户所接受。</span></p>
<p style="margin-left: 18pt">Portal<span style="font-family: 宋体">是基于</span>web<span style="font-family: 宋体">，提供了个性化，整合不同资源内容并作为信息系统的表示层的宿主。整合是把不同资源的内容整合在一个</span>web<span style="font-family: 宋体">页面。</span>Portal <span style="font-family: 宋体">有精巧的个性化特性去提供定制的内容给客户。</span>Portal<span style="font-family: 宋体">页面有不同的频道</span>(portlet)<span style="font-family: 宋体">组为不同的用户创建不同的内容。</span></p>
<p style="margin-left: 18pt"><span style="font-family: 宋体">对于基于</span>Web<span style="font-family: 宋体">的</span>Portal<span style="font-family: 宋体">，我们可以给出如下的定义二：</span>Portal<span style="font-family: 宋体">是针对指定用户和团体的</span>Web<span style="font-family: 宋体">站点，它提供了如下的功能：</span></p>
<p style="margin-left: 54pt"><span style="font-family: 宋体">内容聚合（</span>Content Aggregation<span style="font-family: 宋体">）和发布与用户相关的信息</span></p>
<p style="margin-left: 54pt"><span style="font-family: 宋体">相互协作和团体服务</span></p>
<p style="margin-left: 54pt"><span style="font-family: 宋体">从高个性化的角度，为用户提供服务或应用访问</span></p>
<p style="margin-left: 18pt">Portlet<span style="font-family: 宋体">是基于</span>java<span style="font-family: 宋体">技术的</span>web<span style="font-family: 宋体">组件，由</span>portlet<span style="font-family: 宋体">容器管理，它处理请求并产生动态内容。</span>Portlets<span style="font-family: 宋体">作为可插入用户接口组件被</span>portal<span style="font-family: 宋体">使用，它提供了信息系统的表示层。</span></p>
<p style="margin-left: 17.95pt; text-indent: 26.25pt">Portlet<span style="font-family: 宋体">产生的内容页被称为片断。片断是一块遵守确切规则的标记（</span>html<span style="font-family: 宋体">，</span>xhtml<span style="font-family: 宋体">，</span>wml<span style="font-family: 宋体">）并能被其他的片断整合到一个完整的文档中。一般一个</span>portlet<span style="font-family: 宋体">的内容整合其他</span>portlets<span style="font-family: 宋体">的内容以形成</span>portal<span style="font-family: 宋体">页面。它的生命周期是由</span>portlet<span style="font-family: 宋体">容器管理的。</span></p>
<p style="margin-left: 17.95pt; text-indent: 21pt">Web <span style="font-family: 宋体">客户端与</span>portlets<span style="font-family: 宋体">通过</span>portal<span style="font-family: 宋体">以</span>request/response<span style="font-family: 宋体">模式交互。通常用户与</span>portlets<span style="font-family: 宋体">生产的内容交互，例如提交表单，会导致</span>portlet <span style="font-family: 宋体">动作，它根据动作前进到用户交互所产生的目标</span>portlet<span style="font-family: 宋体">。</span></p>
<p style="margin-left: 17.95pt; text-indent: 21pt"><span style="font-family: 宋体">由某个</span>portlet<span style="font-family: 宋体">产生的内容会根据</span>portlet<span style="font-family: 宋体">中不同的用户配置文件而不同。</span></p>
<p style="margin-left: 15.75pt">Portlet<span style="font-family: 宋体">容器运行</span>portlets<span style="font-family: 宋体">并提供运行时环境。一个</span>portlet<span style="font-family: 宋体">容器包含</span>portlets<span style="font-family: 宋体">和管理他们的生命周期。他也提供</span>portlet<span style="font-family: 宋体">的参数持久化存储。</span>Portlet<span style="font-family: 宋体">容器接收</span>portal<span style="font-family: 宋体">来的请求，由宿主在</span>portal<span style="font-family: 宋体">中的</span>portlet<span style="font-family: 宋体">执行请求。</span>Portlet<span style="font-family: 宋体">容器不负责集合</span>portlet<span style="font-family: 宋体">生产的内容，而是由</span>portal<span style="font-family: 宋体">来完成。</span>Portal<span style="font-family: 宋体">和</span>portlet<span style="font-family: 宋体">容器能共同建立，作为</span>1<span style="font-family: 宋体">个应用程序套件的组成部分，也能分开独立作为</span>portal<span style="font-family: 宋体">的组成成分。</span></p>
<p style="margin-left: 36.75pt">JSR-168<span style="font-family: 宋体">定义了统一的</span>Portlet<span style="font-family: 宋体">开发标准接口</span></p>
<p style="text-indent: 15.75pt"><span style="font-family: 宋体">符合该标准的</span>Portlet<span style="font-family: 宋体">可以在标准的</span>Portal<span style="font-family: 宋体">之间平滑移植</span></p>
<p style="margin-left: 36.75pt">WSRP<span style="font-family: 宋体">定义了访问远程</span>Portlet<span style="font-family: 宋体">的统一</span>Web Service<span style="font-family: 宋体">接口</span></p>
<p style="text-indent: 15.75pt"><span style="font-family: 宋体">可以通过该标准和非</span>Java Portal Server<span style="font-family: 宋体">之间共享</span>Portlet<span style="font-family: 宋体">资源</span></p>
<p style="margin-left: 17.95pt; text-indent: 15.75pt">CMStar<span style="font-family: 宋体">是架构在</span>J2EE<span style="font-family: 宋体">平台之上，完全支持</span>JSR<span style="font-family: 宋体">－</span>168<span style="font-family: 宋体">＃标准的</span>PortalServer<span style="font-family: 宋体">服务器。在</span>Portlet<span style="font-family: 宋体">的开发、部署上兼容其他支持</span>JSR<span style="font-family: 宋体">－</span>168<span style="font-family: 宋体">＃标准的</span>PortalServer<span style="font-family: 宋体">。</span></p>
<p style="margin-left: 18pt">PortalServer<span style="font-family: 宋体">是以</span>Java Servlet<span style="font-family: 宋体">技术为基础，实现了用户管理、权限控制、内容管理、</span>Portlet<span style="font-family: 宋体">容器等</span>Portal<span style="font-family: 宋体">基本组件功能。</span></p>
<p style="margin-left: 18pt">Portlet<span style="font-family: 宋体">运行于</span>Portal Server <span style="font-family: 宋体">的</span>Portlet<span style="font-family: 宋体">容器中，作为</span>Portal<span style="font-family: 宋体">的组件部署于</span>Portal<span style="font-family: 宋体">中。</span></p>
<p style="margin-left: 18pt">portlet APIv1.0 <span style="font-family: 宋体">是基于</span>j2eev1.3<span style="font-family: 宋体">。</span>portlet<span style="font-family: 宋体">容器和</span>portlet<span style="font-family: 宋体">是符合</span>j2ee<span style="font-family: 宋体">的执行环境的。</span></p>
<p style="margin-left: 18pt"><span style="font-family: 宋体">由于和</span>servlets<span style="font-family: 宋体">的功能相似，相应的概念，命名，</span>portlet<span style="font-family: 宋体">的行为和</span>servlet <span style="font-family: 宋体">规范</span>2.3<span style="font-family: 宋体">相似。</span> </p>
<p style="margin-left: 15.75pt">Portlet <span style="font-family: 宋体">容器是</span>servlet<span style="font-family: 宋体">容器的扩展。同样地，</span>portlet<span style="font-family: 宋体">容器能由现有的</span>servlet<span style="font-family: 宋体">容器构建，能实现</span>servlet<span style="font-family: 宋体">容器的所有功能。不管</span>portlet<span style="font-family: 宋体">容器是怎么实现，它的运行环境假定支持</span>servlet<span style="font-family: 宋体">规范</span>2.3<span style="font-family: 宋体">的。</span>Portlet<span style="font-family: 宋体">产生标记片断。</span>Portal<span style="font-family: 宋体">通常给</span>portlet<span style="font-family: 宋体">产生的标记片断加了标题，控制按钮和其他的装饰，这个新的片断叫</span>portlet<span style="font-family: 宋体">窗口。然后</span>portal<span style="font-family: 宋体">整合</span>portlet<span style="font-family: 宋体">窗口到完整的文件，</span>portal<span style="font-family: 宋体">页面</span></p>
<p style="margin-left: 17.95pt; text-indent: 21pt">Portlets <span style="font-family: 宋体">运行在</span>portlet<span style="font-family: 宋体">容器内。</span>Portlet<span style="font-family: 宋体">容器接收</span>portlets<span style="font-family: 宋体">产生的内容。典型的，</span>portlet<span style="font-family: 宋体">容器把</span>portlet<span style="font-family: 宋体">内容传到</span>portal<span style="font-family: 宋体">。</span>Portal server<span style="font-family: 宋体">根据</span>portlet<span style="font-family: 宋体">产生的内容创建</span>portal<span style="font-family: 宋体">页面，并传送给客户端，由客户端显示。</span></p>
<p><span style="font-family: 宋体">客户使用客户终端访问</span>portal<span style="font-family: 宋体">。在收到请求后，</span>portal<span style="font-family: 宋体">判断满足请求的</span>portlets<span style="font-family: 宋体">列表。</span>Portal<span style="font-family: 宋体">通过</span>portlet<span style="font-family: 宋体">容器，调用</span>portlets<span style="font-family: 宋体">。</span>Portal<span style="font-family: 宋体">用</span>portlet<span style="font-family: 宋体">产生的片断创建</span>portal<span style="font-family: 宋体">页面，同时把页面返回给用户。</span></p>
<p style="margin-left: 17.95pt"><span style="font-family: 宋体">视图（</span>View<span style="font-family: 宋体">）：当最初为用户在门户网站页面上构建</span> portlet <span style="font-family: 宋体">时，它显示在其视图方式下。这是</span> portlet <span style="font-family: 宋体">的正常操作方式。</span></p>
<p style="margin-left: 17.95pt"><span style="font-family: 宋体">编辑（</span>Edit<span style="font-family: 宋体">）：如果由</span> portlet <span style="font-family: 宋体">支持该方式，则</span> portlet <span style="font-family: 宋体">对用户提供页面以便按其本身的需要定制</span> portlet<span style="font-family: 宋体">。例如，</span>portlet <span style="font-family: 宋体">能为用户提供页面来指定其位置以获取当地的天气和事件信息。</span></p>
<p style="margin-left: 17.95pt"><span style="font-family: 宋体">帮助（</span>Help<span style="font-family: 宋体">）：</span> <span style="font-family: 宋体">如果由</span> portlet <span style="font-family: 宋体">支持该方式，则</span> portlet <span style="font-family: 宋体">对用户提供帮助页面以便获取有关</span> portlet <span style="font-family: 宋体">的更多信息。</span></p>
<p style="margin-left: 17.95pt"><span style="font-family: 宋体">正常（</span>Normal<span style="font-family: 宋体">）：当最初在门户网站页面上构建</span> portlet <span style="font-family: 宋体">时，它以正常状态显示与其它</span> portlet <span style="font-family: 宋体">一起排列在页面上。</span></p>
<p style="margin-left: 17.95pt"><span style="font-family: 宋体">最大化（</span>Maximized<span style="font-family: 宋体">）：</span> <span style="font-family: 宋体">它显示为门户网站的整个主体，替换了其它门户网站的视图。</span></p>
<p style="text-indent: 15.75pt"><span style="font-family: 宋体">最小化（</span>Minimized<span style="font-family: 宋体">）：</span> <span style="font-family: 宋体">仅显示</span> portlet <span style="font-family: 宋体">标题。</span></p>
<p><span style="font-family: 宋体">此文为本人对</span>Portal<span style="font-family: 宋体">的初步认识，如有高手路过，希望不吝言辞</span>.</p>
<img src ="http://www.blogjava.net/zhpeng/aggbug/142610.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-09-04 13:52 <a href="http://www.blogjava.net/zhpeng/archive/2007/09/04/142610.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CVS权限设置</title><link>http://www.blogjava.net/zhpeng/archive/2007/08/03/134215.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Fri, 03 Aug 2007 04:55:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/08/03/134215.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/134215.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/08/03/134215.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/134215.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/134215.html</trackback:ping><description><![CDATA[&nbsp; <span>假设有用户</span><span>1</span><span>：</span><span>lxw ;</span><span>用户</span><span>2</span><span>：</span><span>zxh<br clear=all></span><span>有用户</span><span>1</span><span>的模块</span><span>::lxwdir;</span><span>用户</span><span>2</span><span>的模块</span><span>:zxhdir<br clear=all></span><span>要求</span><span> lxw </span><span>只能访问</span><span>lxwdir;zxh</span><span>只能访问</span><span>zxhdir</span><span><br clear=all></span>
<p align=left><span>第</span><span>1</span><span>步，设置</span><span>CVS</span><span>的库配置文件（模块</span><span>CVSROOT</span><span>）的访问权限</span><span><br clear=all></span><span>方法：建立超级用户的工作目录</span><span> WINCVSADMIN<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.</span><span>以</span><span>cvsnt</span><span>服务器超级用户</span><span>administrtor </span><span>登陆</span><span> wincvs<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.CHECKOUT </span><span>库控制文件</span><span> checkout moudel 'cvsroot',</span><span>此目录下的文件为</span><span>CVS</span><span>的高级配置文件，可以在本地进行修改，提交，本身在版本控制之中</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.</span><span>修改</span><span>CVSRoot</span><span>的访问权限，在命令行输入如下命令</span><span>&nbsp;&nbsp;#</span><span>之后为说明，不需要输入</span><span> </span><span>每行命令要单独执行，这是</span><span>4</span><span>条命令</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cvs chacl default:n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#</span><span>取消所有用户的默认权限</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cvs chacl administrator:rcw&nbsp;&nbsp;#</span><span>设置</span><span>Administrator</span><span>拥有所有权限</span><span> </span><span>读取</span><span>;</span><span>创建和删除</span><span>;</span><span>写入</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cvs chown administrator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#</span><span>更改的拥有者</span><span>Administrator<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cvs lsacl&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #</span><span>察看权限的设置情况</span><span><br clear=all></span><span>第</span><span>2</span><span>步，建立</span><span>CVS</span><span>的用户</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>正常可以用</span><span>WINNT </span><span>系统的用户作为</span><span>CVS </span><span>的用户，访问</span><span>CVS </span><span>，但是这种方式安全性太差</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>可以建立</span><span>CVS </span><span>自己的用户</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.</span><span>建立</span><span>WINNT</span><span>系统用户</span><span> CVSUSER</span><span>，权限设为一般用户就可以，只要能访问</span><span>WINNT</span><span>就可以</span><span> <span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.</span></span><span>建立密码文件</span><span>PASSWD,<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>直接在服务端</span><span> CVSROOT </span><span>目录下建立文件就可以</span><span> PASSWD<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>出于安全考虑，不要将</span><span> passwd</span><span>列在</span><span> checkoutlist </span><span>文件里面。</span><span> <span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C.</span></span><span>建立</span><span>CVS</span><span>用户</span><span> <span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span>在</span><span>WINCVS </span><span>命令行下输入命令</span><span> <span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs passwd -a -r cvsuser zxh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #</span></span><span>建立</span><span>ZXH</span><span>用户与系统用户</span><span>cvsuser</span><span>有一样的权限</span><span>,</span><span>回车后提示输入两次口令</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs passwd -a -r cvsuser lxw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #</span><span>建立</span><span>lxw</span><span>用户与系统用户</span><span>cvsuser</span><span>有一样的权限</span><span>,</span><span>回车后提示输入两次口令</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs passwd -a -r administratro administrator #</span><span>建立</span><span>administrator</span><span>用户与系统用户</span><span>administrator</span><span>有一样的权限</span><span>,</span><span>回车后提示输入两次口令</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>可以看到</span><span>PASSWD </span><span>文件多了两行</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zxh:CUXQwLMdoZHNs:cvsuser&nbsp;&nbsp;&nbsp;&nbsp; #</span><span>中间为加密的密码</span><span>,</span><span>密码使用</span><span>Unix</span><span>标准的</span><span>crypt()</span><span>函数加密</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lxw:ZTUCMKUkZ6ap2:cvsuser&nbsp;&nbsp;&nbsp;&nbsp; <br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;administrator:oN2Stm4NIf31Q:administrator<br clear=all></span><span>第</span><span>3</span><span>步</span><span>, </span><span>使用</span><span>CVS</span><span>用户登陆</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>由于</span><span>CVS </span><span>在默认模式下</span><span>,</span><span>是采用系统用户登陆的</span><span>,</span><span>这就要修改配置文件</span><span> CONFIG<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>设置文件</span><span>CONFIG</span><span>为修改状态</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>加入如下一行</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SystemAuth=no&nbsp;&nbsp;#yes </span><span>默认值</span><span>,</span><span>表示</span><span> </span><span>如果用户在</span><span>PASSWD</span><span>文件中不存在</span><span>,</span><span>就用系统用户检查权限是否正确</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#no&nbsp;&nbsp; </span><span>表示用</span><span>PASSWD</span><span>检查用户密码权限是否正确</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>之后提交</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>（在设置</span><span>CONFIG </span><span>文件</span><span>SystemAuth=no&nbsp;&nbsp;</span><span>之后</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>需要在</span><span>cvs </span><span>控制目录</span><span>cvsroot\ </span><span>下建立</span><span>admin</span><span>文件</span><span>&nbsp;&nbsp;<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>这个文件是指定</span><span>CVSNT</span><span>的管理员列表的文件，</span><span>CVSNT</span><span>根据这个文件来判断一个用户是否是管理员。文件的内容很是一个用户列表。如下：</span><span><br clear=all>user1<br clear=all>&nbsp;&nbsp;user2<br clear=all>&nbsp;&nbsp;user3<br clear=all></span><span>这些代表</span><span>user1,user2,user3</span><span>都是管理员</span><span> </span><span>；</span><span><br clear=all></span><span>在此之前</span><span> cvs</span><span>将服务器的管理员用户作为自己的管理员用户的）</span><span> </span><span><br clear=all></span></p>
<p align=left><span>第</span><span>4</span><span>步</span><span>,</span><span>加入文件</span><span> WRITERS ,READERS&nbsp;&nbsp; </span><span>控制用户的读写权限</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>在</span><span>cvsroot</span><span>目录下加入两个文本文件，</span><span>WRITERS ,READERS<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>其每行内容为</span><span>&nbsp;&nbsp;</span><span>用户名</span><span> </span><span>回车</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>只有加入</span><span>WRITERS</span><span>中的用户才能进行提交</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>加入</span><span>READERS</span><span>中的用户只能读取</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>同时在两个文件中的用户只能读取</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>在</span><span>writers</span><span>文件中加入如下</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zxh<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lxw&nbsp;&nbsp;<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;administrator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span><br clear=all></span></p>
<p align=left><span>第</span><span>5</span><span>步，</span><span>&nbsp; &nbsp; </span><span>配置</span><span>CVS</span><span>库模块文件</span><span>——modules<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.</span><span>将</span><span>MODUES</span><span>文件设为可编辑状态</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.</span><span>在</span><span>MOUDES </span><span>加入如下</span><span>3</span><span>行</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CVSRoot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CVSRoot<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>大狼的工作目录</span><span> -a&nbsp;&nbsp;lxwDIR<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>开心的工作目录</span><span> -a&nbsp;&nbsp;ZXHDIR<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.</span><span>保存</span><span>,</span><span>提交</span><span> COMMIT<br clear=all></span><span>第</span><span>6</span><span>步</span><span>, </span><span>为</span><span>2</span><span>个用户分别上传工作目录</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>选中</span><span>LXW</span><span>的工作目录</span><span>'LXWDIR'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IMPORT MODULE&nbsp;&nbsp;<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>选中</span><span>ZXH</span><span>的工作目录</span><span>'ZXHDIR'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IMPORT MODULE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>注意</span><span>:</span><span>上传的目录不能为空目录</span><span>,</span><span>其下必须有文件</span><span>(</span><span>啥文件都行</span><span>)<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>上传成功后</span><span>,</span><span>删除这</span><span>2</span><span>个目录</span><span>OR </span><span>改名</span><span><br clear=all>(</span><span>补充一下分组的使用方法：</span><span><br clear=all></span><span>分组：将权限相同的用户划分到一组，这样方便维护。就是角色的意思，分组使用在对模块访问权限的划分。</span><span><br clear=all></span><span>方法：</span><span><br clear=all>a.</span><span>在服务器端</span><span> cvsroot </span><span>目录下新建文件</span><span> group<br clear=all>b.</span><span>建立分组</span><span> group1,group2 ,group</span><span>文件内容如下</span><span><br clear=all>group1:user1 user2 user3<br clear=all>&nbsp;&nbsp;group2:user5 user6 user<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="True" SourceValue="7" UnitName="C">7<br clear=all>c</st1:chmetcnv>.</span><span>之后对组进行权限划分，和对单个用户方式一样，就可以使组内用户和组具有相同的权限，如</span><span> </span><span>选中模块，执行如下命令</span><span><br clear=all>&nbsp;&nbsp; chacl -R default:n<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs chacl -R group1:rcw<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs lsacl&nbsp;&nbsp; <br clear=all></span><span>可以使，用户</span><span> user1 user2 user3 </span><span>同时具有对该模块的读写和控制的权限</span><span> <span><br clear=all></span></span></p>
<p align=left><span><br clear=all></span></p>
<p align=left><span>第</span><span>7</span><span>步</span><span>,</span><span>下载目录目到本地做权限设置</span><span> CHECKOUT MODULE<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CHECKOUT MODULE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>选择</span><span> </span><span>大狼的工作目录</span><span>&nbsp;&nbsp;'LXWDIR'<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CHECKOUT MODULE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>选择</span><span> </span><span>开心的工作目录</span><span>&nbsp;&nbsp;'ZXHDIR'<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;</span><span>做法是这样的</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>选择</span><span> </span><span>菜单</span><span>\remote\checkou moudule<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>在打开窗口中</span><span> </span><span>点击</span><span>&#8216;...&#8217; </span><span>按钮</span><span> <span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span>在打开窗口中选择</span><span> </span><span>大狼的工作目录</span><span> <span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ok </span></span><span>按钮</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>确定</span><span> </span><span>按钮</span><span> </span><span><br clear=all></span></p>
<p align=left><span>第</span><span>8</span><span>步</span><span> </span><span>分别设置</span><span>2</span><span>用户</span><span>(LXW;ZXH)</span><span>对各自目录的访问权限</span><span> <span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span>选中模块</span><span> LXW ,</span><span>在命令行输入如下</span><span>3</span><span>条命令</span><span>,<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs chacl -R default:n<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs chacl -R LXW:rcw<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs lsacl <br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>选中模块</span><span> ZXH ,</span><span>在命令行输入如下</span><span>3</span><span>条命令</span><span>,<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs chacl -R default:n<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs chacl -R ZXH:rcw<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs lsacl <br clear=all></span><span>说明</span><span> </span><span>加</span><span> &#8216;-R &#8217;</span><span>参数表示对模块的权限是递归的。解释一下：</span><span><br clear=all></span><span>如目录结构</span><span>&nbsp;&nbsp; dira<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |---dira1<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |---dira2<br clear=all></span><span>命令：</span><span>cvs chacl default:n </span><span>只对</span><span> </span><span>目录</span><span> dira </span><span>有效，而对子目录无效</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cvs chacl -R default:n&nbsp;&nbsp;&nbsp;&nbsp;</span><span>对目录</span><span>dira</span><span>及其下子目录都有效</span><span><br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br clear=all></span><span>第</span><span>9</span><span>步</span><span> </span><span>已经完成了设置</span><span>&nbsp;&nbsp; <br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>以用户</span><span> LXW OR ZXH </span><span>登陆</span><span>WINCVS </span><span>就只能</span><span>CHECKOU </span><span>各自的模块</span><span> LXWDIR,ZXHDIR&nbsp;&nbsp;<br clear=all>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>进行相应的开发工作了</span><span><br clear=all></span></p>
<p align=left><span>在执行命令</span><span>cvs passwd -a -r cvsuser zxh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>的时候</span><span><br clear=all></span><span>在本地目录</span><span> CVSROOT </span><span>目录下的</span><span>PASSWD</span><span>文件里没有生成相关的用户和密码</span><span><br clear=all></span><span>而在服务器</span><span> CVSROOT </span><span>目录下的</span><span>PASSWD</span><span>文件里生成了相关的用户和密码</span><span> </span><span><br clear=all></span></p>
<p align=left><span>如果是这样，是一种正常现象</span><span><br clear=all></span><span>原因是你没有把</span><span>passwd </span><span>控制文件加入到</span><span> <span>cvs</span></span><span>版本</span><span> </span><span>控制之中</span><span>—</span><span>文件</span><span>checkoutlist</span><span>里</span></p>
<img src ="http://www.blogjava.net/zhpeng/aggbug/134215.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-08-03 12:55 <a href="http://www.blogjava.net/zhpeng/archive/2007/08/03/134215.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts的静态数据验证方法</title><link>http://www.blogjava.net/zhpeng/archive/2007/06/25/126143.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Mon, 25 Jun 2007 08:34:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/06/25/126143.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/126143.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/06/25/126143.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/126143.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/126143.html</trackback:ping><description><![CDATA[<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>&nbsp;&nbsp;&nbsp;利用</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">Struts</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的静态数据验证方法可以对用户在表单上输入的数据进行验证，包括数据类型是否正确、是否可空等。方法如下：</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp; 1</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>、在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">struts-config.xml</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">文件中加入</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;message-resources parameter="ApplicationResources" /&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;plug-in className="org.apache.struts.validator.ValidatorPlugIn"&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/plug-in&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>其中</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">parameter="ApplicationResources"</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>意味着在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">java</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>源代码根部</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">,</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>如</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">src/</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>下有一属性文件</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">ApplicationResources.properties</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，但为了能显示中文件信息</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">src/</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>下还应有文件</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">ApplicationResources_zh_CN.properties</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>，</font></span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"> </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>两文件最后打包到</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">WEB-INF/classes</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">下。</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp; 2</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>、利用开发工具在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">WEB-INF/</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>下导入</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">validator-rules.xml</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>及</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">validation.xml</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">文件。这是有关验证规则及验证内容的配置文件。</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp; 3</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>、为表单属性加入中文说明，如有个</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">formBean</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>，名为</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">form1</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>，有三个属性，</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">name</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>、</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">height</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>、</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">born</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，分别是姓名、身高、出身日期</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">ApplicationResources.properties</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">文件中加入属性的解释说明：</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; errors.integer={0} </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>必须为整型值</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">,</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>请注意编辑框内不能有空白字符串</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">.&nbsp;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; errors.date={0} </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>日期格式错误，应为</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"> <st1:chsdate w:st="on" Year="2004" Month="3" Day="23" IsLunarDate="False" IsROCDate="False">2004-03-23</st1:chsdate> </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>或</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"> 2004-03-23 00:00:00.0 (00:00:00.0 </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>为时</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">:</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>分</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">:</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>秒</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">.</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>毫秒</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">)<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # form1<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form1.<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">name</span></strong>.displayname=</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">姓名</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form1.<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">height</span></strong>.displayname=</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">身高</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form1.<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">born</span></strong>.displayname=</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">出身日期</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">第一、二行不是必须的，但有意义。</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>打包前执行下列批处理</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"> native2ascii ApplicationResources.properties ApplicationResources_zh_CN.properties</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>，目的是由文件</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">ApplicationResources.properties<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>产生新文件</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">ApplicationResources_zh_CN.properties</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>，以便能正确显示汉字，这个新文件也在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">src/</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">下。</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp; 4</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>、为了验证用户在填写表单时输入的数据，在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">validation.xml</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>文件的</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&lt;formset&gt;&lt;/formset&gt;</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">之间加入如下内容</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;form&nbsp;&nbsp;&nbsp; name="<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">form1</span></strong>"&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field&nbsp;&nbsp;&nbsp; property="<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">nam</span></strong>e"<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;depends="required"&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;arg0 key="form1.<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">name</span></strong>.displayname"/&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;field&nbsp;&nbsp;&nbsp; property="<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">height</span></strong>"<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;depends="integer"&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;arg0 key="form1.<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">height</span></strong>.displayname"/&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field&nbsp;&nbsp;&nbsp; property="<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">born</span></strong>"<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;depends="required,date"&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;arg0 key="form1.<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">born</span></strong>.displayname"/&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;var&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;var-name&gt;datePatternStrict&lt;/var-name&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;var-value&gt;yyyy-MM-dd&lt;/var-value&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/var&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/form&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp; 5</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>、在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">jsp</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>页面上，在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&lt;/body&gt;</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>前加入</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">strus</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>标签</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">:<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;html:javascript formName="<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">form1</span></strong>" dynamicJavascript="true" staticJavascript="true"/&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp; </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>经过以上准备，不管是用</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">struts</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>的</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&lt;html:form&gt;&lt;/html:form&gt;</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>标签还是用</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">newxy</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>的</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&lt;nhtml:form&gt;&lt;/nhtml:form&gt;</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">标签，在客户端用户提交数据前都可以进行验证。</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp; </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>但如果用</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">struts</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>的</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&lt;html:form&gt;&lt;/html:form&gt;</span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>标签，应加入</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">onsubmit</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">事件，如：</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"><o:p></o:p></span></font></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;html:form action="/myAction.do?method=update" onsubmit="return validate<strong><span style="FONT-FAMILY: Verdana; mso-bidi-font-family: 宋体">Form1</span></strong>(this);"&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ....<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;html:submit value=" </span><span style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"><font face=宋体>提交</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana"> " /&gt;<o:p></o:p></span></p>
<p style="BACKGROUND: white; LINE-HEIGHT: 150%"><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: #4b4b4b; LINE-HEIGHT: 150%; FONT-FAMILY: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/html:form&gt;<o:p></o:p></span></p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/zhpeng/aggbug/126143.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-06-25 16:34 <a href="http://www.blogjava.net/zhpeng/archive/2007/06/25/126143.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle小道消息</title><link>http://www.blogjava.net/zhpeng/archive/2007/05/29/120594.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Tue, 29 May 2007 01:16:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/05/29/120594.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/120594.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/05/29/120594.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/120594.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/120594.html</trackback:ping><description><![CDATA[<p>1、 oracle是态度鲜明的站在linux一边的,如果你听过oracle老总的演讲,你就会知道,他把比尔盖茨批的一文不值.从oralce的广告词oracle make linus unbreakable,也可以证明我所说的话!世界不会是单调的,linux终会有好的发展.请大家相信这一点!</p>
<p>&nbsp;<br>2 、orcle以后将全面兼容java的源代码,而从ORACLE DB 9.2.0.2开始,ORACLE开始用JAVA开发升级 ORACLE所有的产品.这是确切消息. </p>
<p><br>3、 谁都知道CS模式已经过时,BS模式才是未来的方向,现在在安全和快捷两方面做的最好的当数ORACLE,WEB将是未来的一切! <br>所以,请大家学东西,要有前瞻性,不要老抱着VBVC不放,现在不是计算机专业的人员,也能用VBVC编出好的程序.那要我们干什么我们的价值在哪里仅仅满足一个月赚5000元 </p>
<p>4、ORACLE的前途是很光明的，特别是电子商务方面是走在世界前列的，希望更多的程序员向这方面转移。特别是BS的ERP，ORACLE是最有前途的解决方案，安全、速度快是两个最大的特点。</p>
<p>&nbsp;<br>5、ORACLE和JAVA的结合是最美满的联姻，不会JAVA就相当于对ORACLE的了解只是初级阶段。特别是在以后的发展中，LINUX、JAVA、WEB是ORACLE的发展方向。也是世界的发展方向。</p>
<img src ="http://www.blogjava.net/zhpeng/aggbug/120594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-05-29 09:16 <a href="http://www.blogjava.net/zhpeng/archive/2007/05/29/120594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>30 年内软件技术的不变与变化</title><link>http://www.blogjava.net/zhpeng/archive/2007/04/29/114589.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Sun, 29 Apr 2007 07:52:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/04/29/114589.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/114589.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/04/29/114589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/114589.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/114589.html</trackback:ping><description><![CDATA[<p>软件技术及相关问题的变化是发明创新、公司产品运作、社会市场需求消费、人才资金循环、政策法律等等整体运行中的一个小部分，其发展过程将受诸多因素的影响，但其自身也是有一定规律的。作为行业中具体干活的人，面对这个技术日新月异的行业，琢磨一下行业未来 30 年的某些事情。</p>
<p>　　30 年后的事情不用考虑了，就算想清楚也没用了。</p>
<p>　　30 年内的软件技术及相关问题分为变化不大的和变化可能比较大的。变化不大的学会了用熟了会终身收益，变化大的要及时把握参与深度。</p>
<p>　　一、变化不大的</p>
<p>　　1. Intel x86 的指令集</p>
<p>　　原因很简单，如果这些指令集发生重大变化，那这行业开发、积累的软件都不能运行了，变化成本太高。</p>
<p>　　即使从32位发展到64位、128位，指令集的兼容是可以预见的。</p>
<p>　　2. 操作系统 - 启动过程</p>
<p>　　系统加电复位、硬件自检、操作系统引导、内存管理、进程管理、硬件中断处理、操作系统其它部分引导、用户 Shell 引导等这一套流程应该不会有大的变化。</p>
<p>　　3. 操作系统 - 内存管理</p>
<p>　　i386 的三层内存管理模式现在还看不出有多大的变化趋势。操作系统的内存管理模式、API也不会有大变化。</p>
<p>　　4. 操作系统 - 进程（线程）及其调度</p>
<p>　　只要操作系统内程序的运行是通过时钟中断或其它软硬件中断进行调度，那么进程是操作系统调度的基本单位。如从某一天开始&#8220;独立的二进制组件&#8221;成为操作系统的基本调度单位，那可能更多的是进程控制块的变化。&#8220;独立的二进制组件&#8221;的加载本身很可能就是进程。</p>
<p>　　5. 操作系统 - 文件系统 API</p>
<p>　　文件系统可能会不断变化，但文件系统的 API 应该不会有多大变化。</p>
<p>　　6. 数据库 - SQL 语言</p>
<p>　　关系数据库的理论与产品技术已经非常成熟，对维护到现在已经保存的大量数据而言，SQL 语言是很难被替换的，XML 可能将会与 SQL 合作而不是替换。即使对象数据库理论及产品成熟了，SQL 肯定将被兼容。</p>
<p>　　7. 网络浏览的协议与格式 - HTTP、HTML、Javascript</p>
<p>　　就算大家对 HTML 再不满意，其修改、进步的步伐也不会很快，太多的信息内容保存成这种格式了，变化的成本太高。</p>
<p>　　HTTP 是与 HTML 相伴的，变化不会太大。Javascript 更是如此。</p>
<p>　　8. 电子邮件的协议与格式 - POP3、SMTP、MIME</p>
<p>　　POP3、SMTP、MIME 也已成大规模，变化的成本很高。</p>
<p>　　9. 网络协议 - TCP/IP 族</p>
<p>　　IPv4 到 IPv6 是可以看到的，但 TCP/IP 的基本结构及 API 应该不会有多大变化。变化的成本太高。</p>
<p>　　10. 微软的Windows - Windows</p>
<p>　　除非连续发生重大经营失误，否则微软是不会简单倒下去的，关于这个主要不是技术的问题，不多说。简单认为 Windows 会存在很长的时间。</p>
<p>　　Windows（产品） 中的 Windows（窗口技术）是精华，已经很成熟，其相关的 API，包括 GDI、消息机制、Common Controls等不会有太大变化。就算以后以组件的形式出现，那也只是 API 的另外一种形式。</p>
<p>　　11. 微软的Windows - DirectX</p>
<p>　　只要老百姓还在用 Windows，那么 DirectX 作为游戏的开发平台会长期的保持下去。</p>
<p>　　12. 开源组织与 IBM 的 Linux - Shell、XWindow</p>
<p>　　开源组织现在看不出任何的前景衰落，IBM 已经发展了百年，他们联合推动的 Linux 再活 30 年应该没问题。其基本的 Shell 与 XWindow 结构不会有太大变化。</p>
<p>　　13. OOP 语法与思想</p>
<p>　　编程语言是编写逻辑、调用 API、解决问题的工具。其中的 OOP 语法现在方兴未艾，引导了编译器、虚拟机、API 都向其转变。若干年后，即使编程语言又发展革命了，OOP 很可能将作为其基础。</p>
<p>　　14. 算法</p>
<p>　　可以说是数学的一部分，包括纯数学算法与应用业务逻辑或应用算法。解决问题的算法的生命力是永远的，独立于系统、编程语言。即使我们研究不出来新算法，但掌握某些算法是应该的，这是掌握基本软件开发知识后的长远竞争力之所在。</p>
<p>　　二、变化比较大且影响比较大的</p>
<p>　　1. 产品外观、用户操作界面与交互方式</p>
<p>　　产品外观、界面与交互方式的变化永无止境。像微软这样的公司在这方面投入巨大精力。实际上这是给老百姓看的，不是给开发人员的，但在很大程度上会影响开发人员的产品外观设计、界面设计及交互设计。</p>
<p>　　2. 编程语言、编译器及其支持库、虚拟机</p>
<p>　　具体的编程语言与编译工具的选择使用是程序员、开发部门自己的内部事务，一般与系统API、产品市场需求、开发结果等无关。影响编程语言与编译工具的选择使用的因素非常多，变化性很大。就算一个编程语言或其相关的编译工具的生命周期很长，但也很难保证被一个开发团队长期固定使用。过度沉迷进而局限于某个编译工具的风险很大，但不钻研到一定深度很难做出来好东西。</p>
<p>　　3. 开发管理模式</p>
<p>　　不同的产品、项目，不同的应用平台，不同的编程序语言，需要针对性的开发管理模式。即使使用相同的 OOP 语法的编程语言，针对不同的产品或编译工具其开发管理也是不同的。开发管理其实是组织开发人员利用编程语言写出结果的过程，当然应该不断地进行调整。有一些粗线条的管理理论只能进行指导，真正的实践是另一回事儿。</p>
<p>　　4. 开发技术的应用需求</p>
<p>　　随着软件应用平台厂商、开发工具厂商的不断的产品升级、市场推广活动，以及社会消费热点不断的变化，市场客户对开发技术的需求不断地进行调整。<br></p>
<img src ="http://www.blogjava.net/zhpeng/aggbug/114589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-04-29 15:52 <a href="http://www.blogjava.net/zhpeng/archive/2007/04/29/114589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript校验学习总结</title><link>http://www.blogjava.net/zhpeng/archive/2007/04/19/111924.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Thu, 19 Apr 2007 05:44:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/04/19/111924.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/111924.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/04/19/111924.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/111924.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/111924.html</trackback:ping><description><![CDATA[<p>//校验是否为空<br>function IsNotEmpty(con,desc,flag){<br>&nbsp;&nbsp;&nbsp; var org = deleteSpace(con.value);<br>&nbsp;if (org == ""){<br>&nbsp;&nbsp;&nbsp; &nbsp;alert(desc + "不能为空！");<br>&nbsp;&nbsp;&nbsp; &nbsp;if&nbsp; (flag == "1") {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;con.focus();<br>&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;} else {<br>&nbsp;&nbsp;return true;<br>&nbsp;}<br>}</p>
<p>//校验是否为正确的日期格式<br>function IsDate(sdate,desc){&nbsp;&nbsp;&nbsp;//判断日期型是否满足格式yyyy-mm-dd(10位)</p>
<p>&nbsp;&nbsp;&nbsp; if&nbsp; (sdate.value == ""){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else{</p>
<p>&nbsp;&nbsp;&nbsp; if&nbsp; (sdate.value.length!=10){&nbsp;&nbsp;//判断长度是否10位<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"错误:日期型长度必须是10位！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; sdate.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var yyyy='';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mm='';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var dd='';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=/\d{4}[-]\d{2}[-]\d{2}/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok=s.exec(sdate.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ok==null){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"日期格式检测错误！\n必须是 'yyyy-mm-dd'格式输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdate.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yyyy=sdate.value.substring(0,4);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mm=sdate.value.substring(5,7);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dd=sdate.value.substring(8,10);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (yyyy&lt;1900||yyyy&gt;2130){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: year beyond mark！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdate.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(mm&lt;0||mm&gt;12){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: month beyond the mark！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdate.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(dd&lt;0||dd&gt;31){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: day beyond the mark!\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else return(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>//校验是否为正确的日期时间格式<br>function IsDateTime(sdate,desc){&nbsp;&nbsp;&nbsp;//判断日期型是否满足格式yyyy-mm-dd hh:mm:ss(19位)</p>
<p>&nbsp;&nbsp;&nbsp; if&nbsp; (sdate.value == ""){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else{</p>
<p>&nbsp;&nbsp;&nbsp; if&nbsp; (sdate.value.length!=19){&nbsp;&nbsp;//判断长度是否10位<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"错误:日期型时间长度必须是19位！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; sdate.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var yyyy = '';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mm&nbsp;&nbsp; = '';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var dd&nbsp;&nbsp; = '';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var hh&nbsp;&nbsp; = '';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mi&nbsp;&nbsp; = '';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var ss&nbsp;&nbsp; = '';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=/\d{4}[-]\d{2}[-]\d{2}[\s]\d{2}[:]\d{2}[:]\d{2}/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok=s.exec(sdate.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ok==null){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"日期格式检测错误！\n必须是 'yyyy-mm-dd hh:mm:ss'格式输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdate.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yyyy = sdate.value.substring(0,4);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mm&nbsp;&nbsp; = sdate.value.substring(5,7);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dd&nbsp;&nbsp; = sdate.value.substring(8,10);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hh&nbsp;&nbsp; = sdate.value.substring(11,13);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mi&nbsp;&nbsp; = sdate.value.substring(14,16);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ss&nbsp;&nbsp; = sdate.value.substring(17,19);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (yyyy&lt;1900||yyyy&gt;2130){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: year beyond mark！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdate.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(mm&lt;0||mm&gt;12){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: month beyond the mark！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdate.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(dd&lt;0||dd&gt;31){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: day beyond the mark!\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(hh&lt;0||hh&gt;24){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: hour beyond the mark!\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(mi&lt;0||mi&gt;60){&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: minute beyond the mark!\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(ss&lt;0||ss&gt;60){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"Error: second beyond the mark!\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else return(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>//校验是否数值<br>function IsNumber(snum,desc){&nbsp;&nbsp;&nbsp;//判断是否合法数字，比如：6.1,100 合法 ；。34，100。 不合法<br>&nbsp;&nbsp;&nbsp; if&nbsp; (snum.value == ""){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s1=/[^0-9.]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (snum.value.length == 1){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s2=/[0-9]+/;<br>&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; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s2=/[0-9]+[.]?[0-9]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s3=/[.]+\w*[.]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint1=snum.value.substring(snum.value.length-1,snum.value.length);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint2=snum.value.substring(0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint3=snum.value.substring(1,2);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="."||ifpoint2=="."){<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"错误：数字头不能是'.'");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint2=="-"||ifpoint3=="-"){<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"错误:不能为负值");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint2=="0"&amp;&amp;ifpoint3=="-"){<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"错误：非法数值");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp; false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok1=s1.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok2=s2.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok3=s3.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; ((ok1==null)&amp;&amp;(ok2!=null)&amp;&amp;(ok3==null))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"非法数字！\n请重新输入！")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>//校验是否有标记被选择<br>function IsSelected(theform,desc){<br>&nbsp;&nbsp;&nbsp; var ilength = theform.elements.length;<br>&nbsp;&nbsp;&nbsp; var count = 0;<br>&nbsp;&nbsp;&nbsp; for (i=0;i&lt;ilength;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (theform.elements[i].type=="checkbox" &amp;&amp; theform.elements[i].checked==true){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; if&nbsp; (count == 0){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("对不起，您没有选择"+desc+"!");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else return true;<br>}</p>
<p>//校验是否有标记被选择<br>function IsChecked(theform,desc){<br>&nbsp;&nbsp;&nbsp; var ilength = theform.elements.length;<br>&nbsp;&nbsp;&nbsp; var count = 0;<br>&nbsp;&nbsp;&nbsp; for (i=0;i&lt;ilength;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (theform.elements[i].type=="radio" &amp;&amp; theform.elements[i].checked==true){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; if&nbsp; (count == 0){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("对不起，您没有选择"+desc+"!");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else return true;<br>}</p>
<p>//下拉列表判断<br>function IsSelectedField(fieldstr,desc){<br>&nbsp;&nbsp;&nbsp; if(fieldstr.selectedIndex&gt;-1) return true;<br>&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("对不起，您没有选择"+desc+"!");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>//校验结束日期是否大于开始日期<br>function IsHighDate(fieldstr,desc){<br>&nbsp;&nbsp;&nbsp; if&nbsp; (!IsDate(fieldstr,desc)) return false;<br>&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var sedname = fieldstr.name;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var sedvalue = fieldstr.value;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var iedlength = sedname.length;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var si = sedname.substring(iedlength-1,iedlength);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var sstname = "sd"+si;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var s = "document.form3."+sstname+".value";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var sstvalue = eval(s);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (sstvalue == "") {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if((sedvalue &gt; sstvalue) || (sedvalue == sstvalue)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"应大于开始时间");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fieldstr.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>//日期输入判断<br>function IsBiggerDate(bdate,edate){<br>&nbsp;if(edate.value&gt;=bdate.value){<br>&nbsp;&nbsp;return true;<br>&nbsp;}else{<br>&nbsp;&nbsp;alert("终止日期必须大于开始日期！");<br>&nbsp;&nbsp;bdate.focus();<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>}<br>&nbsp;<br>//校验表单中动态数组大小比较<br>function IsDiaHigh(stheform,ilength,sbstrm,sbdesc,sestrm,sedesc,sflagm){<br>&nbsp;&nbsp;&nbsp; var i=0;<br>&nbsp;for (i=0;i&lt;ilength;i++){<br>&nbsp;&nbsp;var tempflagm=sflagm+i;<br>&nbsp;&nbsp;var tempflagv=eval(stheform+"."+tempflagm+".checked");<br>&nbsp;&nbsp;if&nbsp; (tempflagv == true){<br>&nbsp;&nbsp;&nbsp;var tempbstrm=sbstrm+i;<br>&nbsp;&nbsp;&nbsp;var tempestrm=sestrm+i;<br>&nbsp;&nbsp;&nbsp;var tempbstrv=eval(stheform+"."+tempbstrm+".value");<br>&nbsp;&nbsp;&nbsp;var tempestrv=eval(stheform+"."+tempestrm+".value");<br>&nbsp;&nbsp;&nbsp;if&nbsp; (tempbstrv&gt;tempestrv){<br>&nbsp;&nbsp;&nbsp;&nbsp;var j=i+1;<br>&nbsp;&nbsp;&nbsp;&nbsp;alert("第"+j+"行输入有误，"+sbdesc+"不应大于"+sedesc);<br>&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return true;<br>}</p>
<p>//表单判断<br>function IsOneOnly(stheform,ilength,sfieldm,sfdesc,sfield2m,sf2desc,sfvalm,descv,sflagm){<br>&nbsp;&nbsp;&nbsp; var i = 0;<br>&nbsp;&nbsp;&nbsp; var count = 0;<br>&nbsp;&nbsp;&nbsp; for (i=0;i&lt;ilength;i++){<br>&nbsp;&nbsp;&nbsp; &nbsp;var j = i+1;<br>&nbsp;&nbsp;&nbsp; &nbsp;var tempflagm = sflagm+i;<br>&nbsp;&nbsp;&nbsp; &nbsp;var tempflagv = eval(stheform+"."+tempflagm+".checked");<br>&nbsp;&nbsp;&nbsp; &nbsp;var tempfieldm = sfieldm+i;<br>&nbsp;&nbsp;&nbsp; &nbsp;var tempfieldv = eval(stheform+"."+tempfieldm+".value");<br>&nbsp;&nbsp;&nbsp; &nbsp;if&nbsp; ((tempflagv == true) &amp;&amp; (tempfieldv == "0")){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;count++;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;var tempfield2m = sfield2m+i;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;var tempfield2v = eval(stheform+"."+tempfield2m+".value");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;var tempfvalm = sfvalm+i;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;var tempfvalv = eval(stheform+"."+tempfvalm+".value");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;if&nbsp; (tempfield2v == ""){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;alert("第"+j+"行的"+sf2desc+"不能为空!");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var truefield2v = parseFloat(tempfield2v);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (tempfvalv == ""){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var truefvalv = 0;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;var truefvalv = parseFloat(tempfvalv);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (truefield2v &gt; truefvalv){<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert("第"+j+"行的"+sf2desc+"应大于0且小于当前"+descv+"("+truefvalv+")!");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return false;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; if&nbsp; (count != 1){<br>&nbsp;&nbsp;&nbsp; &nbsp;alert("原商品有且只能有一种,请检查您的输入！");<br>&nbsp;&nbsp;&nbsp; &nbsp;return false;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return true;<br>}</p>
<p>//校验当前域值是否小于某一值(&gt;0)<br>function IsLower(fieldstr,descf,dvalue,descv){<br>&nbsp;if&nbsp; ((!IsEmpty(fieldstr,descf,"1")) || (!IsInteger(fieldstr,descf)))&nbsp;&nbsp; return false;<br>&nbsp;else{<br>&nbsp;&nbsp;&nbsp;&nbsp; var thisvalue = parseFloat(fieldstr.value);<br>&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; ((thisvalue == 0) || (thisvalue &gt; dvalue)){<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert(descf+"应大于0且小于当前"+descv+"("+dvalue+")!");<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;fieldstr.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;}<br>}</p>
<p>//数字判断<br>function IsHigh(lfield,hfield,ldesc,hdesc){<br>&nbsp;var ltempval = lfield.value;<br>&nbsp;var htempval = hfield.value;<br>&nbsp;if&nbsp; (ltempval &gt; htempval){<br>&nbsp;&nbsp;alert(hdesc+"不小于"+ldesc);<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>&nbsp;else{<br>&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;}<br>}</p>
<p>//数字输入<br>function IsNumHigh(lfield,hnum,ldesc,hdesc){<br>&nbsp;if&nbsp; (!IsNumber(lfield,ldesc)){<br>&nbsp;&nbsp;alert(ldesc+"不是数字，请检查您的输入!");<br>&nbsp;&nbsp;lfield.focus();<br>&nbsp;&nbsp;return false;<br>&nbsp;}<br>&nbsp;else{<br>&nbsp;&nbsp;&nbsp;&nbsp; var lnum = parseFloat(lfield.value);<br>&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (lnum &lt; hnum){<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert(ldesc+"的值应大于"+hdesc+hnum);<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;lfield.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp; reutrn true;<br>&nbsp;}<br>}</p>
<p>//判断长度<br>function IsOverLen(fieldstr,ilength,desc){<br>&nbsp;if&nbsp; (fieldstr.value == "")&nbsp; return true;<br>&nbsp;else{<br>&nbsp;&nbsp;&nbsp;&nbsp; var itemplen = fieldstr.value.length;<br>&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (itemplen &gt; ilength){<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert(desc+"的长度不应大于"+ilength);<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;fieldstr.focus;<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;}<br>}</p>
<p>//判断下一步操作<br>function IsNext(icount,desc){<br>&nbsp;if&nbsp; (icount &gt; 0){<br>&nbsp;&nbsp;return true;<br>&nbsp;}<br>&nbsp;else{<br>&nbsp;&nbsp;&nbsp;&nbsp; alert("对不起，文中没有"+desc+"，不能进行下一步操作！");<br>&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;}<br>}&nbsp;</p>
<p>//判断时间<br>function IsTime(ctime,desc){<br>&nbsp;&nbsp;&nbsp; if (ctime.value.length == 0) return true;<br>&nbsp;&nbsp;&nbsp; var s&nbsp; = /^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])){0,2}\s?[aApP][mM])?$/;<br>&nbsp;&nbsp;&nbsp; var ok = exec(ctime.value);<br>&nbsp;&nbsp;&nbsp; if(ok!=null){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"非法时间！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ctime.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>//字符串多余空格<br>function StrTrim(input){<br>&nbsp;&nbsp;&nbsp; var s=/(\s*)([\s*\S*]*)(\S+)/;<br>&nbsp;&nbsp;&nbsp; s.exec(input)<br>&nbsp;&nbsp;&nbsp; if(s.exec(input)==null){return ""}<br>&nbsp;&nbsp;&nbsp; return RegExp.$2+RegExp.$3<br>}</p>
<p>//判断是否为正数<br>function IsVNumber(snum,desc){&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; if&nbsp; (snum == ""){<br>&nbsp;&nbsp;&nbsp; &nbsp;alert("请输入"+desc);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s1=/[^0-9.]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (snum.length == 1){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s2=/[0-9]+/;<br>&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; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s2=/[0-9]+[.]?[0-9]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s3=/[.]+\w*[.]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint1=snum.substring(snum.length-1,snum.length);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint2=snum.substring(0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="."||ifpoint2=="."){<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; window.alert(desc+"错误：数字头不能是'.'");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok1=s1.exec(snum);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok2=s2.exec(snum);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok3=s3.exec(snum);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; ((ok1==null)&amp;&amp;(ok2!=null)&amp;&amp;(ok3==null)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tempnum = parseFloat(snum);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (tempnum &gt; 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"应大于0");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"非法数字！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>//校验数量是否为整数(正整数,负整数,0)<br>function IsNumberInt(snum,desc)&nbsp;&nbsp; <br>{&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; &nbsp;if&nbsp; (snum.value == "")<br>&nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return false;<br>&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp; &nbsp;else<br>&nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s1=/[^0-9]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s2=/[a-z]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s3=/[\-][0-9]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s4=/[.]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint1=snum.value.substring(snum.value.length-1,snum.value.length);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint2=snum.value.substring(0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint3=snum.value.substring(1,2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="."||ifpoint2==".")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; alert(desc+"错误：数字头不能是'.'");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="-"&amp;&amp;ifpoint2=="-")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; alert(desc+"输入数据错误：'-'");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok1=s1.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok2=s2.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok3=s3.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok4=s4.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; ((ok1==null))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //0，正整数<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if (ok4==null&amp;&amp;ok2==null&amp;&amp;ok3!=null&amp;&amp;ifpoint2=="-"&amp;&amp;ifpoint3!="-")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;//alert(desc+"为负整数！！！！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;if(ok2!=null) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;alert(desc+"非法数字！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;if (ok4!=null) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;alert(desc+"数量应该为整数！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; </p>
<p>//校验是否为正整数&nbsp;&nbsp; <br>function IsInt(snum,desc)<br>{&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; if&nbsp; (snum.value == ""){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s1=/[^0-9]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint1=snum.value.substring(0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="0"||ifpoint1==".")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"非正整数！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp; false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok1=s1.exec(snum.value);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; ((ok1==null))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; return true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; alert(desc+"非正整数！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return false;<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>} </p>
<p>//判断是否为正整数和0<br>function IsInteger(snum,desc){<br>&nbsp;&nbsp;&nbsp; if&nbsp; (snum.value == "")<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s&nbsp; = /[0-9]+/;<br>&nbsp;s1=/[^0-9]+/;<br>&nbsp;s2=/[.]+/;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok = s.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok1 = s1.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok2 = s2.exec(snum.value);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint1=snum.value.substring(0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint2=snum.value.substring(1,2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="0"&amp;&amp;ifpoint2=="0")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(desc+"输入数据错误");<br>&nbsp;&nbsp; snum.focus();&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="-")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(desc+"输入数据错误");<br>&nbsp;&nbsp; snum.focus();&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="0"&amp;&amp;snum.value.length &gt; 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(desc+"输入数据错误");<br>&nbsp;&nbsp; snum.focus();&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(ok2!=null){<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(desc+"输入数据非整数！！");<br>&nbsp;&nbsp; snum.focus();&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(ok!=null&amp;&amp;ok1==null){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var inum = parseInt(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(inum&gt;2500000000){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert(desc+"数据太大，超出范围！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;snum.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp; &nbsp;else{<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; alert(desc+"非法数字！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; snum.focus();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp; }<br>}</p>
<p>//校验数量是否为正整数<br>function IsNumberNotNav(snum,desc){&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp; &nbsp;if&nbsp; (snum.value == "")<br>&nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp; &nbsp;else<br>&nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s1=/[^0-9]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s2=/[a-z]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s3=/[\-][0-9]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s4=/[.]+/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint1=snum.value.substring(snum.value.length-1,snum.value.length);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint2=snum.value.substring(0,1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifpoint3=snum.value.substring(1,2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; (ifpoint1=="."||ifpoint2==".")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(desc+"错误：数字头不能是'.'");<br>&nbsp;&nbsp; snum.focus();&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok1=s1.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok2=s2.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok3=s3.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ok4=s4.exec(snum.value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp; ((ok1==null))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; (ok2!=null))||(ok3!=null))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (ok4==null&amp;&amp;ok2==null&amp;&amp;ok3!=null&amp;&amp;ifpoint2=="-"&amp;&amp;ifpoint3!="-")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert(desc+"不能为负数！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; snum.focus(); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;if(ok2!=null) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;{&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;alert(desc+"非法数字！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; snum.focus(); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;if (ok4!=null) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;alert(desc+"应该为整数！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; snum.focus(); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; </p>
<p>//判断输入的是否为数字(onkeyPress="return IsJustNum(this)")<br>function IsJustNum(con) {<br>&nbsp;&nbsp;if (event.keyCode&gt;57||event.keyCode&lt;48) {<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;s=/[^0-9]+/;<br>&nbsp;&nbsp;ok = s.exec(con.value);<br>&nbsp;&nbsp;if (ok==null) {<br>&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;alert("输入非法字符！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;con.value = "";<br>&nbsp;&nbsp;&nbsp;con.focus();<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;<br>&nbsp;/**<br>&nbsp; *当失去焦点并改变内容时判断输入（onchange="IsJustNumOnCh(this)"）<br>&nbsp; */<br>&nbsp;function IsJustNumOnCh(con) {<br>&nbsp;&nbsp;s=/[^0-9]+/;<br>&nbsp;&nbsp;ok = s.exec(con.value);<br>&nbsp;&nbsp;if (ok==null) {<br>&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;alert("输入非法字符！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;con.value = "";<br>&nbsp;&nbsp;&nbsp;con.focus();<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>}<br>&nbsp;<br>*当失去焦点并改变内容时判断输入是否满足时间格式（onchange="IsValidTimeOnCh(this,flag)"）<br>&nbsp; * by<br>&nbsp; * flag=1--hour;flag=2--minute<br>&nbsp; */<br>function IsValidTimeOnCh(con,flag){<br>&nbsp;&nbsp;s=/[^0-9]+/;<br>&nbsp;&nbsp;ok = s.exec(con.value);<br>&nbsp;&nbsp;if (ok==null) <br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;if(flag==1)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;if(con.value&gt;=24 || con.value&lt;0)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert("请保证输入的小时数小于24");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;con.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;else if(flag==2)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;if(con.value&gt;=60 || con.value&lt;0)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert("请保证输入的分钟数小于60");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;} <br>&nbsp;&nbsp;else <br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;alert("输入非法字符！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;con.value = "";<br>&nbsp;&nbsp;&nbsp;con.focus();<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>}&nbsp;<br>&nbsp;<br>//判断输入的是否为数字（onkeyPress="return IsJustNum(this)"）<br>function IsValidTime(con,flag) {<br>&nbsp;&nbsp;if (event.keyCode&gt;57||event.keyCode&lt;48) <br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;s=/[^0-9]+/;<br>&nbsp;&nbsp;ok = s.exec(con.value);<br>&nbsp;&nbsp;if (ok==null) <br>&nbsp;&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;} <br>&nbsp;&nbsp;else <br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;alert("输入非法字符！\n请重新输入！");<br>&nbsp;&nbsp;&nbsp;con.value = "";<br>&nbsp;&nbsp;&nbsp;con.focus();<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>}<br>&nbsp;</p>
<p>//去除字符串前后空格<br>function deleteSpace(orgString) {<br>&nbsp;&nbsp;var org = orgString.toString();<br>&nbsp;&nbsp;var len = org.length;<br>&nbsp;&nbsp;var offset = 0;<br>&nbsp;&nbsp;while (offset&lt;len&amp;&amp;org.charAt(offset)==" ") {<br>&nbsp;&nbsp;&nbsp;offset++;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;while (offset&lt;len&amp;&amp;org.charAt(len-1)==" ") {<br>&nbsp;&nbsp;&nbsp;len--;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;return (offset&gt;0||len&lt;org.length)? org.substring(offset,len):org;<br>}<br>&nbsp;</p>
<p>//判断是否为空&nbsp; <br>function IsNull(con) {<br>&nbsp;&nbsp;var org = deleteSpace(con.value);<br>&nbsp;&nbsp;if (org == ""){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert("输入不能为空！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;con.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;return true;<br>&nbsp;&nbsp;}<br>}<br>&nbsp;<br>&nbsp;<br>&nbsp; * 判断输入是否为（HH:MM）时间格式<br>&nbsp; * @param org 原对象<br>&nbsp; &nbsp; * @param flag 是否输出错误信息（alert），并定位焦点<br>&nbsp; */<br>&nbsp;function IsCorrectTime(org, flag) {<br>&nbsp;&nbsp;if (deleteSpace(org.value).length!=5) {<br>&nbsp;&nbsp;&nbsp;if (flag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;alert("正确的时间格式为(HH:MM)，长度为5位");<br>&nbsp;&nbsp;&nbsp;&nbsp;org.focus();<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;s = /[0-9][0-9][:][0-9][0-9]/;<br>&nbsp;&nbsp;ok = s.exec(org.value);<br>&nbsp;&nbsp;if (ok==null) {<br>&nbsp;&nbsp;&nbsp;if (flag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;alert("输入非法字符！\n正确的时间格式为(HH:MM),长度为5位！");<br>&nbsp;&nbsp;&nbsp;&nbsp;org.focus();<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;var HH = org.value.substring(0,2);<br>&nbsp;&nbsp;var MM = org.value.substring(3,5);<br>&nbsp;&nbsp;if (HH&lt;0||HH&gt;23) {<br>&nbsp;&nbsp;&nbsp;if (flag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert("输入的小时不正确，请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;org.focus();<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;if (MM&lt;0||MM&gt;59) {<br>&nbsp;&nbsp;&nbsp;if (flag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert("输入的分钟不正确，请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;org.focus();<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;return true;<br>&nbsp;}<br>&nbsp;<br>&nbsp;/**<br>&nbsp; * 判断输入是否为（YYYYMM）日期格式<br>&nbsp; * @param org 原对象<br>&nbsp; &nbsp; * @param flag 是否输出错误信息（alert），并定位焦点<br>&nbsp; */<br>&nbsp;function IsCorrectDateMonth(org, flag) {<br>&nbsp;&nbsp;if (deleteSpace(org.value).length!=6) {<br>&nbsp;&nbsp;&nbsp;if (flag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;alert("正确的日期格式为(YYYYMM)，长度为6位！");<br>&nbsp;&nbsp;&nbsp;&nbsp;org.focus();<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;s = /[^0-9]+/;<br>&nbsp;&nbsp;ok = s.exec(org.value);<br>&nbsp;&nbsp;if (ok!=null) {<br>&nbsp;&nbsp;&nbsp;if (flag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;alert("输入非法字符！\n正确的日期格式为(YYYYMM),长度为6位！");<br>&nbsp;&nbsp;&nbsp;&nbsp;org.focus();<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;return false;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;var yyyy = org.value.substring(0,4);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var mm&nbsp;&nbsp; = org.value.substring(4,6);<br>&nbsp;&nbsp;if&nbsp; (yyyy&lt;1900||yyyy&gt;2130){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (flag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;alert("输入的年份不正确，请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;org.focus();<br>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(mm&lt;1||mm&gt;12){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (flag) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("输入的月份不正确，请重新输入！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.focus();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<br>&nbsp;}</p>
<p><br>/*显示隐藏文本字段*/<br>function codeFold(tbl, divid)<br>{<br>&nbsp;butt = tbl.rows[0].cells[1];<br>&nbsp;with (document.getElementById(divid).style){<br>&nbsp;&nbsp;if(visibility == "visible"||visibility =='')<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;visibility ="hidden";<br>&nbsp;&nbsp;&nbsp;&nbsp;butt.innerText = "▼";<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;else&nbsp; {<br>&nbsp; &nbsp;&nbsp;visibility = "visible";<br>&nbsp;&nbsp;&nbsp;&nbsp;butt.innerText = "▲"; &nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;}<br>}</p>
<p>/*选择或取消所有的Checkbox*/<br>function doSelectAll(obj)<br>{<br>&nbsp;var name=obj.name;<br>&nbsp;for (i=0;i&lt;document.forms[0].elements[name].length;i++){<br>&nbsp;&nbsp;document.forms[0].elements[name][i].checked = obj.checked;<br>&nbsp;}<br>&nbsp;<br>}</p>
<p>//邮件判断<br>function e_mail(){<br>var e=document.form;<br>var reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;<br>if(!reg.exec(e.email.value)){<br>&nbsp;alert("email输入不正确，请检查输入!");<br>&nbsp;e.date_t.focus();<br>&nbsp;return false;<br>&nbsp;}<br>}</p>
<img src ="http://www.blogjava.net/zhpeng/aggbug/111924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-04-19 13:44 <a href="http://www.blogjava.net/zhpeng/archive/2007/04/19/111924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开心一刻--口中有食物者禁看(转载)</title><link>http://www.blogjava.net/zhpeng/archive/2007/04/19/111897.html</link><dc:creator>心随我动</dc:creator><author>心随我动</author><pubDate>Thu, 19 Apr 2007 04:53:00 GMT</pubDate><guid>http://www.blogjava.net/zhpeng/archive/2007/04/19/111897.html</guid><wfw:comment>http://www.blogjava.net/zhpeng/comments/111897.html</wfw:comment><comments>http://www.blogjava.net/zhpeng/archive/2007/04/19/111897.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/zhpeng/comments/commentRss/111897.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhpeng/services/trackbacks/111897.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天是我的生日，女友早早的打来电话说晚上要到家里去为我祝贺生日，还要带给我惊喜！听了这个好消息！我今天工作起来是格外买力，一下跑了十几个客户！回到公司。都下午三点了，到食堂一看，只剩下可怜巴巴的一菜一汤了，肉炒三豆（肉炒黄豆、青豆、豌豆）和萝卜汤。没办法，跑了一上午客户，肚子早就咕咕的叫了，只好要了一大盘肉炒三豆和一大盆萝卜汤，吃了起来！没想到临下班了，我的肚子里就像一台越野吉普的发动机！--开始了剧烈的活塞运动！刹那间，一股股气体来势争先恐后的从我的体内冲了出来！我赶紧冲到没人的地方，肚子开始还是不好意思的轻声吟唱，但马上就变成了连珠炮似的噗噗做响！肚子好涨呀！而正在这时，女友却打来电话，说她已经到家了，叫我赶紧回家。唉！没办法只好回家去了，希望她不会看见我这幅狼狈样呀！&#8230;&#8230; </p>
<p>在回家的路上我刻意努力的放了很多的屁。快到家了，肚子好受了很多，我觉得应该不会再出什么问题了。远远就看到了在门边等着我的女友，她看起来有点兴奋。她大叫着说，&#8220;亲爱的，今晚，我为你准备了一份非常奇妙的、一定会让你大吃一惊的礼物。&#8221; </p>
<p>还没进门，女友就用一块布把我的眼睛紧紧蒙了起来，说是要给我一个惊喜！还领着我坐到位于餐桌前头的椅子里，并且让我发誓不会偷看。突然，我感到又想放屁了。恰恰就在这时，女友的手机响了。这可救了我的命了！我找借口说嫌乱让她到另一间屋子里去接电话！她却非让我不能揭开蒙着眼睛的布，还让我发誓！之后才跑去另一间屋子里接电话。她一离开，我就抓紧时机，把全身的重量都移到一条腿上，把屁放了出来。这个屁放得不仅声音很大，而且气味就象是腐臭的鸡蛋散发出的臭味。我几乎不能呼吸，因此我摸到椅垫，使劲的向四周扇着，妄图扇掉这难闻的气味。 </p>
<p>就在我刚感觉好一点的时候，另一个屁又来了。我又抬起腿开始放！它听起来就象是柴油发动机快速转动的声音，而且这一次气味更难闻了。为了不让自己窒息，我用胳膊挥舞着椅垫扇了起来，希望气味会尽快散掉。 </p>
<p>又是在一切将要恢复正常的时候，另一个屁又迫不及待的冲来了。于是我站起来，弯下腰，把屁股向后上方撅了起来！把它放了出来。这个屁放得真正称得上是一流，连身后的报纸都被吹散到了地下.......... </p>
<p>我侧耳倾听另一间屋子里女友交谈的声音，因为要遵守不偷看的诺言，我也不敢打开眼罩，只能在漆黑中不断放着屁，为了赶快把肚子中的气体全部排出，又不使屋里变得更臭！我解开了裤腰带，把内裤和长裤褪到了小腹以下，把屁股露了出来，并摸索着打开了身后阳台的门，几乎是将整个屁股都伸到阳台上，开始疯狂的放起屁来&#8230;&#8230;，啊！好受多了！之后，我又手舞足蹈的用椅垫满屋乱扇，祈祷这股恶臭能赶快散去&#8230;&#8230;，就这样，在接下来的十几分钟以内，我一边不断的放着屁，一边不断的扇着椅垫，终于，当我听到她在电话里说再见的时候，屋里的空气和我的肚子都已经好多了！我迅速的系上裤子，整理了一下头发，开始优雅地、微笑着等着我亲爱的她来带给我惊喜。 </p>
<p>当她走近的时候，我脸上带着满足地微笑，一付温存的样子。女友首先为她打了这么长时间的电话向我道了歉，然后问我有没有偷偷掀开过布。在我向她保证没有偷看之后，女友移走了遮在我眼睛上的布，并对我说道，&#8220;意外吧！我的女友今天非让我带她们来看看你，她们说你在照片上很有风度，人长的很帅！喏！你看，坐在桌前的这五位都是我单位里的好姐妹，而站在阳台上的那六位是我上学时最要好的朋友！&#8221; </p>
<p>这时，我才极为震惊和恐惧的发现，有一大堆女孩正围坐在我对面的餐桌边，而身后的阳台上则站着另一堆，她们都是来参加这个令我感到非常意外的生日宴会的。现在，她们每个人脸上都带着一种无法言表的表情看着我，就像发现了火星人&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; </p>
<img src ="http://www.blogjava.net/zhpeng/aggbug/111897.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhpeng/" target="_blank">心随我动</a> 2007-04-19 12:53 <a href="http://www.blogjava.net/zhpeng/archive/2007/04/19/111897.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>