﻿<?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-追梦忆往-----成长之路</title><link>http://www.blogjava.net/guoyongfei/</link><description>Not to do the same thing,To do the other thing.
</description><language>zh-cn</language><lastBuildDate>Wed, 03 Dec 2008 00:33:52 GMT</lastBuildDate><pubDate>Wed, 03 Dec 2008 00:33:52 GMT</pubDate><ttl>60</ttl><item><title>option 的经典属性</title><link>http://www.blogjava.net/guoyongfei/archive/2008/11/18/241088.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Tue, 18 Nov 2008 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/11/18/241088.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/241088.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/11/18/241088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/241088.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/241088.html</trackback:ping><description><![CDATA[
		<div class="tit"> </div>
		<table style="TABLE-LAYOUT: fixed">
				<tbody>
						<tr>
								<td>
										<div class="cnt" id="blog_text">
												<p>new Option("文本","值",true,true) <br />后面两个true分别表示默认被选中和有效! <br /><br /><br />Option 选择项对象 <br />options[] 是一个数组，包含了在同一个 Select 对象下的 Option 对象。<br />Option 对象由“&lt;select&gt;”下的“&lt;options&gt;”指定。<br /><br />options[] 数组的属性<br /><br />length; selectedIndex 与所属 Select 对象的同名属性相同。<br /><br />单个 Option 对象的属性<br /><br />text 返回/指定 Option 对象所显示的文本<br />value 返回/指定 Option 对象的值，与&lt;options value="..."&gt;一致。<br />index 返回该 Option 对象的下标。对此并没有什么好说，因为要指定特定的一个 Option 对象，都要先知道该对象的下标。这个属性好像没有什么用。<br />selected 返回/指定该对象是否被选中。通过指定 true 或者 false，可以动态的改变选中项。<br />defaultSelected 返回该对象默认是否被选中。true / false。 </p>
												<p>
												</p>
												<p>使用 <span style="COLOR: red">select</span> 选项列表 (即是通常的下拉列表框之类的) 也是一种给用户提供选项的有用方法，看一下下边的代码： </p>
												<div class="quote">
														<div class="quote-title">引用 <u></u></div>
														<div class="quote-content">&lt;select name="state" size=1&gt; <br />&lt;option value="AL"&gt;Alabama &lt;/option&gt;<br />&lt;option value="AK"&gt;Alaska &lt;/option&gt;<br />&lt;option value="AZ"&gt;Arizona &lt;/option&gt;<br />&lt;option value="AR"&gt;Arkansas &lt;/option&gt;<br />&lt;option value="CA"&gt;California &lt;/option&gt;<br />&lt;option value="CO"&gt;Colorado &lt;/option&gt;<br />&lt;option value="CT"&gt;Connecticut &lt;/option&gt;<br />&lt;option value="DE"&gt;Delaware &lt;/option&gt;<br />&lt;option value="DC"&gt;District of Columbia &lt;/option&gt;<br />... <br />&lt;option value="WY"&gt;Wyoming &lt;/option&gt;<br />&lt;/select&gt;</div>
												</div>
												<p>
														<br />
														<span style="COLOR: blue">一个 select 对象是由 &lt;SELECT&gt; 标记创建的。</span>
														<br />此对象的 <span style="COLOR: brown">options 属性</span>是一个对应于 <span style="COLOR: blue">option 对象群的数组</span>，每一个 &lt;OPTION&gt; 标记对应一个 option 对象，也就是对应一个 select 对象的选项。<br /><br />select 对象的另外两个常用的属性是<span style="COLOR: brown"> length</span> 和 <span style="COLOR: brown">selectedIndex</span> 属性。length 属性是选项的个数，也就是 options 数组的元素个数；selectedIndex 属性则给出了被用户选中的那个选项在 options 数组中的下标。<br /><br /><span style="COLOR: blue">创建 option 对象使用 Option 数据结构</span>，例如： </p>
												<div class="quote">
														<div class="quote-title">引用 <u></u></div>
														<div class="quote-content">var opt = new Option(text, value, defaultSelected, selected)</div>
												</div>
												<p>参数 text 是显示在页面上的选项的文字，参数 value 对应于 &lt;OPTION&gt; 标记中的 VALUE="...." 属性，即 option 对象的值；参数 defaultSelected 和 selected 是布尔值，用来设置此新建的 option 对象是否为默认选项，以及是否被选中，这两个参数都是可选的，即可以不提供这两个参数的参数值。这个 option 对象可以被加入到一个 options 数组中。而删除一个已经存在的 option 对象，只需将此对象在数组中的那个元素设置为空 ('null' 值) 即可，同时，这样也使数组变小了。 </p>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
		<br />ref:<a title="引用原文" href="http://hi.baidu.com/yimxi/blog/item/c0b2a45002302d5e1038c237.html" target="_blank">http://hi.baidu.com/yimxi/blog/item/c0b2a45002302d5e1038c237.html</a><img src ="http://www.blogjava.net/guoyongfei/aggbug/241088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-11-18 10:15 <a href="http://www.blogjava.net/guoyongfei/archive/2008/11/18/241088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>初识Firebug 全文 — firebug的使用</title><link>http://www.blogjava.net/guoyongfei/archive/2008/11/04/238512.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Tue, 04 Nov 2008 02:54:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/11/04/238512.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/238512.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/11/04/238512.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/238512.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/238512.html</trackback:ping><description><![CDATA[
		<font color="#ff0000">今天在网上看了以便关于Firebug的介绍,感觉功能很强大,所以转过来分享一下:<br /></font>
		<h2 class="posttitle" id="post-294">
				<a title="Permanent link to 初识Firebug 全文 — firebug的使用" href="http://www.ooso.net/index.php/archives/294" rel="bookmark">初识Firebug 全文 — firebug的使用</a>
		</h2>
		<p class="postmeta">2007-05-15 @ 09:54:03 · 作者 <a title="Posts by Volcano" href="http://www.ooso.net/index.php/archives/author/volcano/">Volcano</a> · 归类于 <a title="View all posts in FIREFOX" href="http://www.ooso.net/index.php/archives/category/firefox" rel="category tag">FIREFOX</a></p>
		<p>本文最初发表《程序员》杂志第三期，现将全文贴上，内容已经过编辑修饰了很多:)</p>
		<br />
		<h3>什么是Firebug</h3>
		<p>从事了数年的Web开发工作，越来越觉得现在对WEB开发有了更高的要求。要写出漂亮的HTML代码；要编写精致的CSS样式表展示每个页面模块；要调试<a href="http://www.ooso.net/index.php/archives/category/javascript/">javascript</a>给页面增加一些更活泼的要素；要使用Ajax给用户带来更好的体验。一个优秀的WEB开发人员需要顾及更多层面，才能交出一份同样优秀的作业。为帮助广大正处于Web2.0洪流中的开发人员，在这里为大家介绍一款轻巧灵活的辅助开发工具。</p>
		<p>Firebug是Firefox下的一款开发类插件，现属于<a href="http://www.ooso.net/index.php/archives/category/firefox/">Firefox</a>的五星级强力推荐插件之一。它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体，是开发JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士军刀，从各个不同的角度剖析Web页面内部的细节层面，给Web开发者带来很大的便利。这是一款让人爱不释手的插件，如果你以前没有接触过它，也许在阅读本文之后，会有一试的欲望。笔者在撰写此文的时候，正逢Firebug发布1.0正式版，这不能不说是种巧合。<br /><span id="more-294"></span></p>
		<h3>应用</h3>
		<p>Firebug插件虽然功能强大，但是它已经和Firefox浏览器无缝地结合在一起，使用简单直观。如果你担心它会占用太多的系统资源，也可以方便地启用/关闭这个插件，甚至针对特定的站点开启这个插件。</p>
		<p>在安装好插件之后，先用Firefox浏览器打开需要测试的页面，然后点击右下方的绿色按钮或使用快捷键F12唤出Firebug插件，它会将当前页面分成上下两个框架，如图1所示。</p>
		<p>图1：Firebug插件展开图示<br /><img alt="firebug插件展开图示" src="http://www.ooso.net/wp-content/uploads/2007/firebug1.gif" /><br />从图1中看到，Firebug有6个主要的Tab按钮，下文将主要介绍介绍这几方面的功能。</p>
		<table cellpadding="4" border="1">
				<tbody>
						<tr>
								<td>Console</td>
								<td>HTML</td>
								<td>CSS</td>
								<td>Script</td>
								<td>Dom</td>
								<td>Net</td>
						</tr>
						<tr>
								<td>控制台</td>
								<td>Html查看器</td>
								<td>Css查看器</td>
								<td>脚本条时期 </td>
								<td>Dom查看器</td>
								<td>网络状况监视</td>
						</tr>
				</tbody>
		</table>
		<h3>Console 控制台</h3>
		<p>控制台能够显示当前页面中的javascript错误以及警告，并提示出错的文件和行号，方便调试，这些错误提示比起浏览器本身提供的错误提示更加详细且具有参考价值。而且在调试Ajax应用的时候也是特别有用，你能够在控制台里看到每一个XMLHttpRequests请求post出去的参数、URL，http头以及回馈的内容，原本似乎在幕后黑匣子里运作的程序被清清楚楚地展示在你面前。</p>
		<p>象C shell或Python shell一样，你还能在控制台中查看变量内容，直接运行javascript语句，就算是大段的javascript程序也能够正确运行并拿到运行期的信息。</p>
		<p>控制台还有个重要的作用就是查看脚本的log, 从前你也许习惯了使用alert来打印变量，但是Firebug给我们带来了一个新朋友 —— console.log, 最简单的打印日志的语法是这样的： </p>
		<div class="igBar">
				<span id="lcode-1">
						<a onclick="javascript:showCodeTxt('code-1'); return false;" href="http://www.ooso.net/index.php/archives/294#">PLAIN TEXT</a>
				</span>
		</div>
		<div class="syntax_hilite">
				<span class="langName">CODE:</span>
				<div id="code-1">
						<div class="code">
								<ol>
										<li style="FONT-WEIGHT: normal; COLOR: #3a6a8b; FONT-STYLE: normal; FONT-FAMILY: 'Courier New', Courier, monospace">
												<div style="FONT-WEIGHT: normal; FONT-FAMILY: 'Courier New', Courier, monospace">console.<span>log</span><span style="FONT-WEIGHT: bold; COLOR: #006600">(</span><span style="COLOR: #cc0000">"hello world"</span><span style="FONT-WEIGHT: bold; COLOR: #006600">)</span></div>
										</li>
								</ol>
						</div>
				</div>
		</div>
		<p>如果你有一堆参数需要组合在一起输出，可以写成这样：</p>
		<div class="igBar">
				<span id="lcode-2">
						<a onclick="javascript:showCodeTxt('code-2'); return false;" href="http://www.ooso.net/index.php/archives/294#">PLAIN TEXT</a>
				</span>
		</div>
		<div class="syntax_hilite">
				<span class="langName">CODE:</span>
				<div id="code-2">
						<div class="code">
								<ol>
										<li style="FONT-WEIGHT: normal; COLOR: #3a6a8b; FONT-STYLE: normal; FONT-FAMILY: 'Courier New', Courier, monospace">
												<div style="FONT-WEIGHT: normal; FONT-FAMILY: 'Courier New', Courier, monospace">console.<span>log</span><span style="FONT-WEIGHT: bold; COLOR: #006600">(</span><span style="COLOR: #800000">2</span>,<span style="COLOR: #800000">4</span>,<span style="COLOR: #800000">6</span>,<span style="COLOR: #800000">8</span>,<span style="COLOR: #cc0000">"foo"</span>,bar<span style="FONT-WEIGHT: bold; COLOR: #006600">)</span>. </div>
										</li>
								</ol>
						</div>
				</div>
		</div>
		<p>Firebug的日志输出有多种可选的格式以及语法，甚至可以定制彩色输出，比起单调的alert，显然更加方便，限于篇幅，这里不做详细说明，但是有志于提高debug效率的读者，可以到Firebug的官方站点（见附录）查看更详细的教程。</p>
		<p>图2： 在控制台里调试javascript<br /><img alt="在控制台里调试javascript" src="http://www.ooso.net/wp-content/uploads/2007/firebug2.gif" /></p>
		<h3>查看和修改HTML</h3>
		<p>第一次看到Firebug强大的HTML代码查看器，就觉得它与众不同，相比于Firefox自带的HTML查看器，它的功能强大了许多。 HTML</p>
		<p>首先你看到的是已经经过格式化的HTML代码，它有清晰的层次，你能够方便地分辨出每一个标签之间的从属并行关系，标签的折叠功能能够帮助你集中精力分析代码。源代码上方还标记出了DOM的层次，如图3所示，它清楚地列出了一个hml元素的parent、child以及root元素，配合Firebug自带的CSS查看器使用，会给div+css页面分析编写带来很大的好处。你还可以在HTML查看器中直接修改HTML源代码，并在浏览器中第一时间看到修改后的效果，光凭这一点就会让许多页面设计师死心塌地地成为Firebug的粉丝了。</p>
		<p>有时候页面中的javascript会根据用户的动作如鼠标的onmouseover来动态改变一些HTML元素的样式表或背景色，HTML查看器会将页面上改变的内容也抓下来，并以黄色高亮标记，让网页的暗箱操作彻底成为历史。</p>
		<p>利用Inspect检查功能，我们还可以用鼠标在页面中直接选择一些区块，查看相应的HTML源代码和CSS样式表，真正的做到所见即所得，如果你使用了外部编辑器修改了当前网页，可以点击Firebug的reload图片重新载入网页，它会继续跟踪你之前用Inspect选中的区块，方便调试。</p>
		<p>图3:：HTML查看器<br /><img alt="HTML查看器" src="http://www.ooso.net/wp-content/uploads/2007/firebug3.gif" /></p>
		<h3>CSS调试</h3>
		<p>Firebug的CSS调试器是专为网页设计师们量身定做的。</p>
		<p>如今的网页设计言必称div+css，如果你是用table套出来的HTML页面，就得按这规矩重构一遍，否则显得你不够时髦！用div做出来的页面的确能精简HTML代码，HTML标签减肥的结果就是CSS样式表的编写成了页面制作的重头戏。Firebug的CSS查看器不仅自下向上列出每一个CSS样式表的从属继承关系，还列出了每一个样式在哪个样式文件中定义。你可以在这个查看器中直接添加、修改、删除一些CSS样式表属性，并在当前页面中直接看到修改后的结果。</p>
		<p>一个典型的应用就是页面中的一个区块位置显得有些不太恰当，它需要挪动几个象素。这时候用CSS调试工具可以轻易编辑它的位置——你可以根据需要随意挪动象素。<br />如图4中正在修改一个区块的背景色。</p>
		<p>提示：如果你正在学习CSS样式表的应用，但是总记不住常用的样式表有哪些值，可以尝试在CSS调试器中选中一个样式表属性，然后用上下方向键来改变它的值，它会把可能的值一个个遍历给你看。</p>
		<p>图4: CSS查看器，能够直接修改样式表<br /><img alt="图4: CSS查看器，能够直接修改样式表" src="http://www.ooso.net/wp-content/uploads/2007/firebug4.gif" /></p>
		<h3>可视化的CSS尺标</h3>
		<p>我们可以利用Firebug来查看页面中某一区块的CSS样式表，如果进一步展开右侧Layout tab的话，它会以标尺的形式将当前区块占用的面积清楚地标识出来，精确到象素，更让人惊讶的是，你能够在这个可视化的界面中直接修改各象素的值，页面上区块的位置就会随改动而变化。在页面中某些元素出现错位或者面积超出预料值时，该功能能够提供有效的帮助，你可以籍此分析offset、margin、padding、size之间的关系，从而找出解决问题的办法。</p>
		<p>图5：Firebug中的CSS标尺<br /><img alt="图5：Firebug中的CSS标尺" src="http://www.ooso.net/wp-content/uploads/2007/firebug5.gif" /></p>
		<h3>网络状况监视器</h3>
		<p>也许有一天，你的老板或者客户找到你，抱怨你制作的网页速度奇慢，你该如何应对？你或许会说这可能是网络问题，或者是电脑配置问题，或者是程序太慢，或者直说是他们的人品问题？不管怎么说，最后你可能被要求去解决这个有多种可能的问题。</p>
		<p>网络状况监视器能帮你解决这个棘手问题。Firebug的网络监视器同样是功能强大的，它能将页面中的CSS、javascript以及网页中引用的图片载入所消耗的时间以矩状图呈现出来，也许在这里你能一把揪出拖慢了你的网页的元凶，进而对网页进行调优，最后老板满意客户欢喜，你的饭碗也因此而牢固。</p>
		<p>网络监视器还有一些其它细节功能，比如预览图片，查看每一个外部文件甚至是xmlHttpRequests请求的http头等等。</p>
		<p>图6：网络状况监视器<br /><img alt="图6：网络状况监视器" src="http://www.ooso.net/wp-content/uploads/2007/firebug6.gif" /></p>
		<h3>Javascript调试器</h3>
		<p>这是一个很不错的javascript脚本调试器，占用空间不大，但是单步调试、设置断点、变量查看窗口一个不少。正所谓麻雀虽小，五脏俱全。</p>
		<p>如果你有一个网站已经建成，然而它的javascript有性能上的问题或者不是太完美，可以通过面板上的Profile来统计每段脚本运行的时间，查看到底是哪些语句执行时间过长，一步步排除问题。</p>
		<p>图7：javascript调试器<br /><img alt="图7：javascript调试器" src="http://www.ooso.net/wp-content/uploads/2007/firebug7.gif" /></p>
		<h3>DOM查看器</h3>
		<p>DOM(Document Object Model)里头包含了大量的Object以及函数、事件，在从前，你要想从中查到需要的内容，绝非易事，这好比你去了一个巨大的图书馆，想要找到几本名字不太确切的小书，众多的选择会让你无所适从。而使用Firebug的DOM查看器却能方便地浏览DOM的内部结构，帮助你快速定位DOM对象。双击一个DOM对象，就能够编辑它的变量或值，编辑的同时，你可能会发现它还有自动完成功能，当你输入document.get之后，按下tab键就能补齐为document.getElementById，非常方便。如果你认为补齐得不够理想，按下shift+tab又会恢复原状。用了Firebug的DOM查看器，你的javascript从此找到了驱使的对象，Web开发也许就成了一件乐事。</p>
		<p>图8: Dom查看器<br /><img alt="图8: Dom查看器" src="http://www.ooso.net/wp-content/uploads/2007/firebug8.gif" /></p>
		<h3>小结</h3>
		<p>Firebug插件提供了一整套web开发所必需的工具。从HTML的编写，到CSS样式表的美化调优，以及用javascript脚本开发，亦或是Ajax应用，Firebug插件都会成为你的得力助手。所谓工欲善其事，必先利其器。在Web2.0的时代，言必称Ajax，动辄就是用户体验提升，如果把Firebug工具用好，必能让你如虎添翼，将HTML、CSS、javascript整理得服服帖帖，从此成为web开发中的专家级人物。</p>
		<h3>附</h3>
		<p>Firebug的中文含义是萤火虫，作者是Joe Hewitt，官方网页 http://www.getfirebug.com<br />Firefox亦即火狐浏览器，是近年来撼动IE浏览器市场占有率的一支强大力量，要不是它的出现，我想有生之年说不定也看不到IE 7的发布了，官方网页 http://www.firefox.com<br /><br />ref:<a href="http://www.ooso.net/index.php/archives/294" target="_blank">http://www.ooso.net/index.php/archives/294</a></p>
<img src ="http://www.blogjava.net/guoyongfei/aggbug/238512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-11-04 10:54 <a href="http://www.blogjava.net/guoyongfei/archive/2008/11/04/238512.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转载:javascript经典例子 </title><link>http://www.blogjava.net/guoyongfei/archive/2008/10/30/237547.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Thu, 30 Oct 2008 03:13:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/10/30/237547.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/237547.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/10/30/237547.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/237547.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/237547.html</trackback:ping><description><![CDATA[
		<div class="postTitle">一、验证类<br />1、数字验证内<br />1.1 整数<br />1.2 大于0的整数 （用于传来的ID的验证)<br />1.3 负整数的验证<br />1.4 整数不能大于iMax<br />1.5 整数不能小于iMin<br />2、时间类<br />2.1 短时间，形如 (13:04:06)<br />2.2 短日期，形如 (2003-12-05)<br />2.3 长时间，形如 (2003-12-05 13:04:06)<br />2.4 只有年和月。形如(2003-05,或者2003-5)<br />2.5 只有小时和分钟,形如(12:03)<br />3、表单类<br />3.1 所有的表单的值都不能为空<br />3.2 多行文本框的值不能为空。<br />3.3 多行文本框的值不能超过sMaxStrleng<br />3.4 多行文本框的值不能少于sMixStrleng<br />3.5 判断单选框是否选择。<br />3.6 判断复选框是否选择.<br />3.7 复选框的全选，多选，全不选，反选<br />3.8 文件上传过程中判断文件类型<br />4、字符类<br />4.1 判断字符全部由a-Z或者是A-Z的字字母组成<br />4.2 判断字符由字母和数字组成。<br />4.3 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母<br />4.4 字符串替换函数.Replace();<br />5、浏览器类<br />5.1 判断浏览器的类型<br />5.2 判断ie的版本<br />5.3 判断客户端的分辨率 </div>
		<p>6、结合类<br />6.1 email的判断。<br />6.2 手机号码的验证<br />6.3 身份证的验证</p>
		<p>
				<br />二、功能类</p>
		<p>1、时间与相关控件类<br />1.1 日历<br />1.2 时间控件<br />1.3 万年历<br />1.4 显示动态显示时钟效果（文本，如OA中时间）<br />1.5 显示动态显示时钟效果 (图像，像手表) <br />2、表单类<br />2.1 自动生成表单<br />2.2 动态添加，修改，删除下拉框中的元素<br />2.3 可以输入内容的下拉框<br />2.4 多行文本框中只能输入iMax文字。如果多输入了，自动减少到iMax个文字（多用于短信发送)</p>
		<p>3、打印类<br />3.1 打印控件<br />4、事件类<br />4.1 屏蔽右键<br />4.2 屏蔽所有功能键<br />4.3 --&gt; 和&lt;-- F5 F11,F9,F1<br />4.4 屏蔽组合键ctrl+N<br />5、网页设计类<br />5.1 连续滚动的文字，图片（注意是连续的，两段文字和图片中没有空白出现）<br />5.2 html编辑控件类<br />5.3 颜色选取框控件<br />5.4 下拉菜单<br />5.5 两层或多层次的下拉菜单<br />5.6 仿IE菜单的按钮。（效果如rongshuxa.com的导航栏目)<br />5.7 状态栏，title栏的动态效果（例子很多，可以研究一下）<br />5.8 双击后，网页自动滚屏<br />6、树型结构。<br />6.1 asp+SQL版<br />6.2 asp+xml+sql版<br />6.3 java+sql或者java+sql+xml<br />7、无边框效果的制作<br />8、连动下拉框技术<br />9、文本排序<br />---------------------------------------------------------------------------------------</p>
		<p>一、验证类<br />1、数字验证内<br />1.1 整数<br />/^(-|\+)?\d+$/.test(str)<br />1.2 大于0的整数 （用于传来的ID的验证)<br />/^\d+$/.test(str)<br />1.3 负整数的验证<br />/^-\d+$/.test(str)<br />2、时间类<br />2.1 短时间，形如 (13:04:06)<br />function isTime(str)<br />{<br />var a = str.match(/^(\d{1,2})(?(\d{1,2})\2(\d{1,2})$/);<br />if (a == null) {alert('输入的参数不是时间格式'); return false;}<br />if (a[1]&gt;24 || a[3]&gt;60 || a[4]&gt;60)<br />{<br />alert("时间格式不对");<br />return false<br />}<br />return true;<br />}<br />2.2 短日期，形如 (2003-12-05)<br />function strDateTime(str)<br />{<br />var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); <br />if(r==null)return false; <br />var d= new Date(r[1], r[3]-1, r[4]); <br />return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]);<br />}<br />2.3 长时间，形如 (2003-12-05 13:04:06)<br />function strDateTime(str)<br />{<br />var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2})\d{1,2})\d{1,2})$/; <br />var r = str.match(reg); <br />if(r==null)return false; <br />var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); <br />return (d.getFullYear()==r[1]&amp;&amp;(d.getMonth()+1)==r[3]&amp;&amp;d.getDate()==r[4]&amp;&amp;d.getHours()==r[5]&amp;&amp;d.getMinutes()==r[6]&amp;&amp;d.getSeconds()==r[7]);<br />}<br />2.4 只有年和月。形如(2003-05,或者2003-5)<br />2.5 只有小时和分钟,形如(12:03)<br />3、表单类<br />3.1 所有的表单的值都不能为空</p>
		<p>3.2 多行文本框的值不能为空。<br />3.3 多行文本框的值不能超过sMaxStrleng<br />3.4 多行文本框的值不能少于sMixStrleng<br />3.5 判断单选框是否选择。<br />3.6 判断复选框是否选择.<br />3.7 复选框的全选，多选，全不选，反选<br />3.8 文件上传过程中判断文件类型<br />4、字符类<br />4.1 判断字符全部由a-Z或者是A-Z的字字母组成</p>
		<p>4.2 判断字符由字母和数字组成。</p>
		<p>4.3 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母<br />/^([a-zA-z_]{1})([\w]*)$/g.test(str)<br />4.4 字符串替换函数.Replace();<br />5、浏览器类<br />5.1 判断浏览器的类型<br />window.navigator.appName<br />5.2 判断ie的版本<br />window.navigator.appVersion<br />5.3 判断客户端的分辨率<br />window.screen.height; window.screen.width;</p>
		<p>6、结合类<br />6.1 email的判断。<br />function ismail(mail)<br />{<br />return(new RegExp(/^\w+((-\w+)|(\.\w+))*\-AT-[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));<br />}<br />6.2 手机号码的验证<br />6.3 身份证的验证<br />function isIdCardNo(num)<br />{<br />if (isNaN(num)) {alert("输入的不是数字！"); return false;}<br />var len = num.length, re; <br />if (len == 15)<br />re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);<br />else if (len == 18)<br />re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);<br />else {alert("输入的数字位数不对！"); return false;}<br />var a = num.match(re);<br />if (a != null)<br />{<br />if (len==15)<br />{<br />var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);<br />var B = D.getYear()==a[3]&amp;&amp;(D.getMonth()+1)==a[4]&amp;&amp;D.getDate()==a[5];<br />}<br />else<br />{<br />var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);<br />var B = D.getFullYear()==a[3]&amp;&amp;(D.getMonth()+1)==a[4]&amp;&amp;D.getDate()==a[5];<br />}<br />if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对！"); return false;}<br />}<br />return true;<br />}<br />-------------------------------------------------------------------------------------</p>
		<p>3.7 复选框的全选，多选，全不选，反选</p>
		<p>全选</p>
		<p>
				<br />全选</p>
		<p>function checkAll(str)<br />{<br />var a = document.getElementsByName(str);<br />var n = a.length;<br />for (var i=0; ia[i].checked = window.event.srcElement.checked;<br />}<br />function checkItem(str)<br />{<br />var e = window.event.srcElement;<br />var all = eval("document.hrong."+ str);<br />if (e.checked)<br />{<br />var a = document.getElementsByName(e.name);<br />all.checked = true;<br />for (var i=0; i{<br />if (!a[i].checked){ all.checked = false; break;}<br />}<br />}<br />else all.checked = false;<br />}</p>
		<p>
				<br />3.8 文件上传过程中判断文件类型</p>
		<p>
				<br />-------------------------------------------------------------------------------------<br />１．身份证严格验证：</p>
		<p>２．验证ＩＰ地址</p>
		<p>function isip(s){<br />var check=function(v){try{return (v&lt;=255 &amp;&amp; v&gt;=0)}catch(x){return false}};<br />var re=s.split(".")<br />return (re.length==4)?(check(re[0]) &amp;&amp; check(re[1]) &amp;&amp; check(re[2]) &amp;&amp; check(re[3])):false<br />}</p>
		<p>var s="202.197.78.129";<br />alert(isip(s))</p>
		<p>３．加sp1后还能用的无边框窗口！！</p>
		<p>
				<br />/*--- Special Thanks For andot ---*/</p>
		<p>/*<br />This following code are designed and writen by Windy_sk <br />You can use it freely, but u must held all the copyright items!<br />/</p>
		<p>/- Thanks For andot Again ---*/</p>
		<p>var CW_width = 400;<br />var CW_height = 300;<br />var CW_top = 100;<br />var CW_left = 100;<br />var CW_url = "/";<br />var New_CW = window.createPopup();<br />var CW_Body = New_CW.document.body;<br />var content = "";<br />var CSStext = "margin:1px;color:black; border:2px outset;border-style:expression(onmouseout=onmouseup=function(){this.style.borderStyle='outset'}, onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;";</p>
		<p>//Build Window<br />include.startDownload(CW_url, function(source){content=source});</p>
		<p>function insert_content(){<br />var temp = "";<br />CW_Body.style.overflow = "hidden";<br />CW_Body.style.backgroundColor = "white";<br />CW_Body.style.border = "solid black 1px";<br />content = content.replace(/]*)&gt;/g,"");<br />temp += "";<br />temp += "";<br />temp += "Chromeless Window For IE6 SP1";<br />temp += "";<br />temp += "?";<br />temp += "0";<br />temp += "1";<br />temp += "x";<br />temp += "";<br />temp += "";<br />temp += content;<br />temp += "</p>
		<p>";<br />temp += "";<br />CW_Body.innerHTML = temp;<br />}</p>
		<p>setTimeout("insert_content()",1000);</p>
		<p>var if_max = true;<br />function show_CW(){<br />window.moveTo(10000, 10000);<br />if(if_max){<br />New_CW.show(CW_top, CW_left, CW_width, CW_height);<br />if(typeof(New_CW.document.all.include)!="#ff0000"){<br />New_CW.document.all.include.style.width = CW_width;<br />New_CW.document.all.Max.innerText = "1";<br />}</p>
		<p>}else{<br />New_CW.show(0, 0, screen.width, screen.height);<br />New_CW.document.all.include.style.width = screen.width;<br />}<br />}</p>
		<p>window.onfocus = show_CW;<br />window.onresize = show_CW;</p>
		<p>// Move Window<br />var drag_x,drag_y,draging=false</p>
		<p>function drag_move(e){<br />if (draging){<br />New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);<br />return false;<br />}<br />}</p>
		<p>function drag_down(e){<br />if(e.button==2)return;<br />if(New_CW.document.body.offsetWidth==screen.width &amp;&amp; New_CW.document.body.offsetHeight==screen.height)return;<br />drag_x=e.clientX;<br />drag_y=e.clientY;<br />draging=true;<br />e.srcElement.setCapture();<br />}</p>
		<p>function drag_up(e){<br />draging=false;<br />e.srcElement.releaseCapture();<br />if(New_CW.document.body.offsetWidth==screen.width &amp;&amp; New_CW.document.body.offsetHeight==screen.height) return;<br />CW_top = e.screenX-drag_x;<br />CW_left = e.screenY-drag_y;<br />}</p>
		<p>
				<br /> <br />电话号码的验证</p>
		<p>要求：<br />(1)电话号码由数字、"("、")"和"-"构成<br />(2)电话号码为3到8位<br />(3)如果电话号码中包含有区号，那么区号为三位或四位<br />(4)区号用"("、")"或"-"和其他部分隔开<br />(5)移动电话号码为11或12位，如果为12位,那么第一位为0<br />(6)11位移动电话号码的第一位和第二位为"13"<br />(7)12位移动电话号码的第二位和第三位为"13"<br />根据这几条规则，可以与出以下正则表达式：<br />(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)</p>
		<p>function PhoneCheck(s) {<br />var str=s;<br />var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/<br />alert(reg.test(str));<br />}</p>
		<p>--------------------------------------------------------------------------------------</p>
		<p>
				<br />---------------------------------------------------------------------------------</p>
		<p>//检验法人代码<br />function isCorporationCode(s){<br />var patrn=/^(\d){15}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验登录名：只能输入5-20个以字母开头、可带数字、“_”、“.”的字串<br />function isRegisterUserName(s)<br />{<br />var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}<br />//校验用户姓名：只能输入1-30个以字母开头的字串<br />function isTrueName(s)<br />{<br />var patrn=/^[^`~!@#$%^&amp;*()+-=|\\\[\]\{\}:;\'\,.&lt;&gt;/? 0-9]{2,19}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验密码：只能输入6-15个字母、数字<br />function isPasswd(s)<br />{<br />var patrn=/^[a-zA-Z0-9]{6,15}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//检验体重<br />function isAvoirdupois(s)<br />{<br />var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br />var patrn2=/^[1-9]{1}$/;<br />var intPart=s.indexOf('.');<br />var decPart=s.lastIndexOf('.');<br />if (intPart==-1 &amp;&amp; patrn.exec(s) &amp;&amp; eval(s)&gt;=2 &amp;&amp; eval(s)&lt;=200) return true<br />if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false<br />if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false<br />if (eval(s)&lt;2 || eval(s)&gt;200) return false<br />return true<br />}</p>
		<p>//校验普通电话、传真号码：可以“+”开头，除数字外，可含有“-”<br />function isTel(s)<br />{<br />var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验手机号码：必须以数字开头，除数字外，可含有“-”<br />function isMobile(s)<br />{<br />var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验地区代码<br />function isAreaCode(s)<br />{<br />var patrn=/^(\d){6}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验邮政编码<br />function isPostalCode(s)<br />{<br />var patrn=/^[1-9]{1}(\d){5}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验搜索关键字<br />function isSearch(s)<br />{<br />var patrn=/^[^`~!@#$%^&amp;*()+=|\\\[\]\{\}:;\'\,.&lt;&gt;/? ]{1}[^`~!@$%^&amp;()+=|\\\[\]\{\}:;\'\,.&lt;&gt;?]{0,19}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验是否为ip地址<br />function isIP(s)<br />{<br />var patrn=/^[0-9.]{1,20}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//检验页码是否正确<br />function isPage(s)<br />{<br />var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//表单输入值错误提示<br />function vErr(o,s){<br />alert(s);<br />if (o) o.focus();<br />return false;<br />}</p>
		<p>//判断单选<br />function chkRadio(o){<br />for (i=0;iif (o[i].checked) return true;<br />}<br />return false;<br />} <br />//====================================表单类================================<br />// 文件上传过程中判断文件类型<br />/*</p>
		<p>/</p>
		<p>//表单的值不能为空<br />function isNull(elem){<br />//var pattern=/^\s+|\s+$/;<br />if(elem.replace(/(^\s+|\s$)/g, "")==""){<br />return false;<br />}else{<br />return true;<br />}<br />}<br />//不能超过imax字符<br />function imax(elem){<br />if(elem.length&gt;imax){<br />return false;<br />}else{<br />return true;<br />}<br />}<br />//不能少于imix字符<br />function imix(elem){<br />if(elem.lengthreturn false;<br />}else{<br />return true;<br />}<br />}<br />//输入为中文判断<br />function isChinese(elem){<br />var pattern=/[^\x00-\xff]/g;<br />if(pattern.test(elem)){<br />//包含中文<br />return false;<br />}else{<br />//不包含中文<br />return true;<br />}<br />}</p>
		<p>/ *********************************************************************************************************************</p>
		<p>.cMenu {<br />FILTER: alpha(opacity=0);BACKGROUND-COLOR: #D6D3CE;BORDER-BOTTOM: #666666 2px solid; BORDER-LEFT: #E4E4E4 2px solid; BORDER-RIGHT: #666666 2px solid; BORDER-TOP: #E4E4E4 2px solid; COLOR: #000000; CURSOR: default; FONT-SIZE: 9pt; color:#000000;FONT-WEIGHT: normal; LINE-HEIGHT: 20px; POSITION: absolute; VISIBILITY: hidden; WIDTH: 110px<br />}<br />.menuitems {<br />font-size:9pt;<br />MARGIN: 2px;<br />PADDING-BOTTOM: 0px;<br />PADDING-LEFT: 15px;<br />PADDING-RIGHT: 3px;<br />PADDING-TOP: 0px;<br />}</p>
		<p>&lt;!--[if IE]&gt;<br />onmouseover=highlightie5()&gt;</p>
		<p>电话号码的验证</p>
		<p>要求：<br />(1)电话号码由数字、"("、")"和"-"构成<br />(2)电话号码为3到8位<br />(3)如果电话号码中包含有区号，那么区号为三位或四位<br />(4)区号用"("、")"或"-"和其他部分隔开<br />(5)移动电话号码为11或12位，如果为12位,那么第一位为0<br />(6)11位移动电话号码的第一位和第二位为"13"<br />(7)12位移动电话号码的第二位和第三位为"13"<br />根据这几条规则，可以与出以下正则表达式：<br />(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)</p>
		<p>
				<br />&lt;script language="javascript"&gt;<br />function PhoneCheck(s) {<br />var str=s;<br />var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/<br />alert(reg.test(str));<br />}<br />&lt;/script&gt;<br />&lt;input type=text name="iphone"&gt;<br />&lt;input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check"&gt;<br />----------------------------------------------------------------------------------------</p>
		<p>&lt;%<br />'********************************************<br />'函数功能：正则表达式校验<br />'参数patrn：要校验的类型<br />' "User" - 用户名<br />' "Truename" - 英文姓名<br />' "Passwd" - 密码<br />' "Tel" - 电话/传真<br />' "Mobil" - 手机<br />' "Date" - 日期（格式：yyyy-mm-dd）<br />' "Email" - 电子邮件<br />' "Postalcode" - 邮政编码<br />' "Search" - 搜索关键字<br />' "Int" - 整数<br />'参数strng：要校验的字串<br />'返回值：校验结果，正确返回true，错误返回false<br />'********************************************<br />Function IsVerify(patrn,strng)<br />strng=Trim(strng)<br />Select Case patrn<br />Case "User" '用户名<br />patrn="^[a-z]{1}([a-z0-9]|[._]){2,19}$"<br />Case "Truename" '英文姓名<br />patrn="^[a-zA-Z]{1,30}$"<br />Case "Passwd" '密码<br />patrn="^(\w){6,20}$"<br />Case "Tel" '电话/传真<br />patrn="^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$"<br />Case "Mobil" '手机<br />patrn="^(\d)+[-]?(\d){6,12}$"<br />Case "Date" '日期（格式：yyyy-mm-dd）<br />patrn="^[12]{1}(\d){3}[-][01]?(\d){1}[-][0123]?(\d){1}$"<br />Case "Email" '电子邮件<br />patrn="^((\w)|[-]|[.])+@(((\w)|[-])+[.])+[a-z]{2,4}$"<br />Case "Postalcode" '邮政编码<br />patrn="^[a-z0-9 ]{3,12}$"<br />Case "Search" '搜索关键字<br />patrn="^[^`~!@#$%^&amp;*()+=|\\\[\]\{\}:;\'\,.&lt;&gt;/?]{1}[^`~!@$%^&amp;()+=|\\\[\]\{\}:;\'\,.&lt;&gt;?]{0,19}$"<br />Case "Int" '整数<br />patrn="^[1-9]{1}[0-9]{0,6}$"<br />Case "Array"<br />patrn="^[0-9]{1}([0-9]|[\,]){0,150}$"<br />End Select<br />Dim regEx<br />Dim Match<br />Set regEx = New RegExp<br />regEx.Pattern = patrn<br />regEx.IgnoreCase = True<br />regEx.Global = True<br />Matches = regEx.test(strng)<br />IsVerify = Matches<br />Set regEx = Nothing<br />End Function</p>
		<p>'********************************************<br />'函数功能：对输入框的特殊字串进行过滤保存<br />'参数strPass：过滤前的字符串<br />'返回值：过滤后的字符串<br />'********************************************<br />Function SQLencode(byVal strPass)<br />strPass = Replace(strPass, "&amp;", "&amp;")<br />strPass = Replace(strPass, "&lt;", "&lt;")<br />strPass = Replace(strPass, "&gt;", "&gt;")<br />strPass = Replace(strPass, """", """)<br />strPass = Replace(strPass, "'", "'")<br />strPass = Replace(strPass, " ", "　")<br />strPass = Replace(strPass,chr(13)&amp;chr(10),"&lt;br/&gt;")<br />SQLencode = strPass<br />End Function</p>
		<p>'********************************************<br />'函数功能：对SQLencode函数过滤后的字符串进行还原<br />'参数strPass：经过过滤后的字符串<br />'返回值：还原的过滤前的字符串<br />'********************************************<br />Function SQLdecode(byVal strPass)<br />If Not isNull(strPass) Then<br />strPass = Replace(strPass, "&lt;", "&lt;")<br />strPass = Replace(strPass, "&gt;", "&gt;")<br />strPass = Replace(strPass, ""","""" )<br />strPass = Replace(strPass, "'","'" )<br />strPass = Replace(strPass,"&lt;br/&gt;",chr(13)&amp;chr(10))<br />End If<br />SQLdecode = strPass<br />End Function</p>
		<p>'********************************************<br />'函数功能：生成随机密码（字符为数字与大小写字母集合）<br />'参数length：密码长度<br />'返回值：随机密码<br />'********************************************<br />Function random(length)<br />Dim n,str<br />rnds=""<br />Randomize<br />For i=1 To length<br />n=Int(75*Rnd+48)<br />If (n&gt;57 and n&lt;65) Or (n&gt;90 and n&lt;97) Then<br />i=i-1<br />Else<br />rnds=rnds&amp;Chr(n)<br />End If<br />Next<br />random=rnds<br />End Function</p>
		<p>'********************************************<br />'函数功能：对密码进行加密/解密（最大长度为15位）<br />'********************************************<br />Function Encrypt(preString)<br />Dim pwds,s<br />pwds=""<br />s=Left(preString,15)<br />For i=1 To Len(s)<br />seed=170-Asc(Mid(s,i,1))-i<br />pwds=pwds &amp; Chr(seed)<br />Next<br />Encrypt=pwds<br />End Function</p>
		<p>'********************************************<br />'函数功能：格式化当前时间字串<br />'参数：无<br />'返回值：返回当前时间的纯数字字符串方式的表示（例如：当前时间2001-10-3 2:34:6，返回字符串"20011003023406"）<br />'********************************************<br />Function TheDate()<br />y=year(date())<br />m=month(date())<br />d=day(date())<br />h=Hour(time())<br />n=Minute(time())<br />s=Second(time())<br />If Len(m)=1 Then m="0"&amp;m<br />If Len(d)=1 Then d="0"&amp;d<br />If Len(h)=1 Then h="0"&amp;h<br />If Len(n)=1 Then n="0"&amp;n<br />If Len(s)=1 Then s="0"&amp;s<br />thedate=y&amp;m&amp;d&amp;h&amp;n&amp;s<br />End Function</p>
		<p>'********************************************<br />'函数功能：返回字符串的长度<br />'参数：字符串<br />'返回值：字符串长度<br />'********************************************<br />Function strLen(str)<br />dim p_len<br />p_len=0<br />strlen=0<br />if trim(str)&lt;&gt;"" then<br />p_len=len(trim(str))<br />for xx=1 to p_len<br />if asc(mid(str,xx,1))&lt;0 then<br />strlen=int(strlen) + 2<br />else<br />strlen=int(strlen) + 1<br />end if<br />next<br />end if<br />End Function</p>
		<p>'********************************************<br />'函数功能：发送邮件通知<br />'参数：字符串<br />'返回值：成功/失败<br />'********************************************<br />Function SendMail(ToAddress, Subject, Body)<br />On Error Resume Next<br />Set objMail = Server.CreateObject("JMail.Message")<br />objMail.From = ADR_Email<br />objMail.FromName = "ADR管理中心"<br />objMail.Subject = Subject<br />objMail.AddRecipient ToAddress<br />objMail.Body = Body<br />If objMail.Send("") Then<br />SendMail = True<br />Else<br />SendMail = False<br />End If<br />If Err.Number&lt;&gt; 0 Then SendMail = False<br />Set objMail = Nothing<br />On Error Goto 0<br />End Function<br />%&gt;<br />-----------------------------------------------------------------------------------</p>
		<p>//检验法人代码<br />function isCorporationCode(s){<br />var patrn=/^(\d){15}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验登录名：只能输入5-20个以字母开头、可带数字、“_”、“.”的字串<br />function isRegisterUserName(s)<br />{<br />var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}<br />//校验用户姓名：只能输入1-30个以字母开头的字串<br />function isTrueName(s)<br />{<br />var patrn=/^[^`~!@#$%^&amp;*()+-=|\\\[\]\{\}:;\'\,.&lt;&gt;/? 0-9]{2,19}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验密码：只能输入6-15个字母、数字<br />function isPasswd(s)<br />{<br />var patrn=/^[a-zA-Z0-9]{6,15}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//检验体重<br />function isAvoirdupois(s)<br />{<br />var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br />var patrn2=/^[1-9]{1}$/;<br />var intPart=s.indexOf('.');<br />var decPart=s.lastIndexOf('.');<br />if (intPart==-1 &amp;&amp; patrn.exec(s) &amp;&amp; eval(s)&gt;=2 &amp;&amp; eval(s)&lt;=200) return true<br />if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false<br />if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false<br />if (eval(s)&lt;2 || eval(s)&gt;200) return false<br />return true<br />}</p>
		<p>//校验普通电话、传真号码：可以“+”开头，除数字外，可含有“-”<br />function isTel(s)<br />{<br />var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验手机号码：必须以数字开头，除数字外，可含有“-”<br />function isMobile(s)<br />{<br />var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验地区代码<br />function isAreaCode(s)<br />{<br />var patrn=/^(\d){6}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验邮政编码<br />function isPostalCode(s)<br />{<br />var patrn=/^[1-9]{1}(\d){5}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验搜索关键字<br />function isSearch(s)<br />{<br />var patrn=/^[^`~!@#$%^&amp;*()+=|\\\[\]\{\}:;\'\,.&lt;&gt;/? ]{1}[^`~!@$%^&amp;()+=|\\\[\]\{\}:;\'\,.&lt;&gt;?]{0,19}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//校验是否为ip地址<br />function isIP(s)<br />{<br />var patrn=/^[0-9.]{1,20}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//检验页码是否正确<br />function isPage(s)<br />{<br />var patrn=/^[1-9]{1}[0-9]{0,2}$/;<br />if (!patrn.exec(s)) return false<br />return true<br />}</p>
		<p>//表单输入值错误提示<br />function vErr(o,s){<br />alert(s);<br />if (o) o.focus();<br />return false;<br />}</p>//判断单选<br />function chkRadio(o){<br />for (i=0;i&lt;o.length;i++){<br />if (o[i].checked) return true;<br />}<br />return false;<br />} <br /><br />ref:<a href="/hadeslee/archive/2007/11/24/161778.html" target="_blank">http://www.blogjava.net/hadeslee/archive/2007/11/24/161778.html</a><img src ="http://www.blogjava.net/guoyongfei/aggbug/237547.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-10-30 11:13 <a href="http://www.blogjava.net/guoyongfei/archive/2008/10/30/237547.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse插件配置</title><link>http://www.blogjava.net/guoyongfei/archive/2008/10/29/237398.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Wed, 29 Oct 2008 08:19:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/10/29/237398.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/237398.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/10/29/237398.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/237398.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/237398.html</trackback:ping><description><![CDATA[在这里记下eclipse插件的配置,以便查阅:<br /><br />eclipse插件的配置方法有好几种,一种是通过菜单安装,一种是直接将包拷到相应目录下,但这两种方法对插件管理都不太方便,比如某个不用了想去掉,如果时间长了可能造成很多冗余,所以我选择配置插件,方法如下:<br />1.下载相应插件,这里以svn为例,插件必须放在一个名为eclipse的目录下,然后外层再建相应的目录,如:<br />   D:\plug-in\svn\eclipse\插件包;<br />2.在eclipse\links目录中新建一个文件,可以有多种格式,这里为了易于理解查找,建立相应名称的文件svn.link,在文件中输入插件包路径,如:path=D:/plug-in/svn.<br />这样重启eclipse就可以应用该插件了,如果重启后没有发现该插件,则eclipse有可能没有更新,在eclipse快捷方式上右键--属性--快捷方式标签的目标中增加 空格-clean,如:D:\eclipse\eclipse.exe -clean,这样就OK了!<img src ="http://www.blogjava.net/guoyongfei/aggbug/237398.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-10-29 16:19 <a href="http://www.blogjava.net/guoyongfei/archive/2008/10/29/237398.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux和mysql常用命令</title><link>http://www.blogjava.net/guoyongfei/archive/2008/10/24/236442.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Fri, 24 Oct 2008 08:37:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/10/24/236442.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/236442.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/10/24/236442.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/236442.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/236442.html</trackback:ping><description><![CDATA[在此记下Linux和mysql常用的命令,以便以后查看,当然如果对大家有帮助更好,不断总结,更新中...<br /><br /><font color="#ff0000">Linux常用命令:<br /></font>1.查找文件: find -name filename<br />2.查看进程:<br />   netstat –tln //查看服务监听端口<br />   netstat //查看进程号<br />   netstat -a<br />   ps –aux //查看进程号<br />   ps –aux | more //全部查看<br />   ps –ef | grep mysql //查看mysql的进程<br />   kill -9 3306 //强制杀掉进程号3306 <br /><br /><font color="#ff0000">mysql常用命令:<br /></font><font color="#000000">1.查看mysql的参数值: mysqladmin -u root -p variables <br />2.将二进制日志文件转换成sql语句: <br />./mysqlbinlog -d dbname /usr/local/mysql/var/mysql-bin.000001 &gt;  /usr/statements_db.sql<br />3.mysql命令导出数据库(&gt;)：mysqldump -u root -p digsm&gt;d:/digsm.sql<br />4.mysql命令导入数据库(&lt;)：mysql -u root -p digsm&lt;d:/digsm.sql <br /><br />先记这么多,在以后我会不断增加的!</font><img src ="http://www.blogjava.net/guoyongfei/aggbug/236442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-10-24 16:37 <a href="http://www.blogjava.net/guoyongfei/archive/2008/10/24/236442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>这就是传说中的幸福...</title><link>http://www.blogjava.net/guoyongfei/archive/2008/10/20/235411.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Mon, 20 Oct 2008 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/10/20/235411.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/235411.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/10/20/235411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/235411.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/235411.html</trackback:ping><description><![CDATA[我们总是抱怨<a href="http://www.duwenzhang.com/wenzhang/shenghuosuibi/"><font color="#000000">生活的压力</font></a><font color="#000000">太大，工作，</font><a href="http://www.duwenzhang.com/huati/jiating/index1.html"><font color="#000000">家庭</font></a><font color="#000000">，</font><a href="http://www.duwenzhang.com/huati/jinqian/index1.html"><font color="#000000">金钱</font></a><font color="#000000">，甚至</font><a href="http://www.duwenzhang.com/wenzhang/aiqingwenzhang/"><font color="#000000">爱情</font></a><font color="#000000">，本来该是生活的</font><a href="http://www.duwenzhang.com/huati/kuaile/index1.html"><font color="#000000">快乐</font></a><font color="#000000">所在，却变成了背上的枷锁。</font><a href="http://www.duwenzhang.com/huati/xiguan/index1.html"><font color="#000000">习惯</font></a><font color="#000000">面无表情的生活，习惯让自己的心很硬很硬。甚至忘记了这个世界上还有一种东西叫</font><a href="http://www.duwenzhang.com/huati/xingfu/index1.html"><font color="#000000">幸福</font></a><font color="#000000">。其实，幸福很简单，如果你不那么匆匆，如果你用爱的目光，如果你有足够的</font><a href="http://www.duwenzhang.com/huati/kuanrong/index1.html"><font color="#000000">宽容</font></a><font color="#000000">，幸福真的离我们很近……</font><p align="center"><font color="#000000">第一张：爱情</font></p><p align="center"><a href="http://www.duwenzhang.com/wenzhang/shenghuosuibi/shenghuoganwu/20080913/18229.html"><font color="#000000"><img height="251" alt="十张叫做幸福的照片" src="http://www.duwenzhang.com/upimg/userup/0809/13110Z09391.jpg" width="199" border="0" 0="" /></font></a></p><p align="center"><font color="#000000">沉醉于爱情中的人是幸福的。<br />长长的</font><a href="http://www.duwenzhang.com/wenzhang/renshengzheli/"><font color="#000000">人生之路</font></a><font color="#000000">，有你的陪伴，扶持，足够了……</font></p><p align="center"><font color="#000000">第二张：依旧是爱情</font></p><p align="center"><a href="http://www.duwenzhang.com/"><font color="#000000"><img height="225" alt="情感－故事" src="http://www.duwenzhang.com/upimg/userup/0809/1311095VV1.jpg" width="224" border="0" 0="" /></font></a></p><p align="center"><font color="#000000">有人说爱情是一杯茶，</font><a href="http://www.duwenzhang.com/huati/shijian/index1.html"><font color="#000000">时间</font></a><font color="#000000">一久就淡了。<br />我说爱情更像是一个煲，时间越长越有滋……</font></p><p align="center"><font color="#000000">第三张：</font><a href="http://www.duwenzhang.com/huati/muai/index1.html"><font color="#000000">母爱</font></a></p><p align="center"><a href="http://www.duwenzhang.com/wenzhang/shenghuosuibi/shenghuoganwu/20080913/18229.html"><font color="#000000"><img height="299" alt="十张叫做幸福的照片" src="http://www.duwenzhang.com/upimg/userup/0809/1311111S563.jpg" width="196" border="0" 0="" /></font></a></p><p align="center"><font color="#000000">如果整个世界都抛弃了你，至少还有</font><a href="http://www.duwenzhang.com/huati/muqin/index1.html"><font color="#000000">母亲</font></a><font color="#000000">不会</font><a href="http://www.duwenzhang.com/huati/fangqi/index1.html"><font color="#000000">放弃</font></a><font color="#000000">你。<br />还记得儿时母亲的怀抱就是我最美的天堂……</font></p><p align="center"><font color="#000000">第四张：纯真</font></p><p align="center"><a href="http://www.duwenzhang.com/wenzhang/renshengzheli/"><font color="#000000"><img height="199" alt="人生" src="http://www.duwenzhang.com/upimg/userup/0809/1311113913A.jpg" width="291" border="0" 0="" /></font></a></p><p align="center"><font color="#000000">这样的笑，这样的幸福，只有</font><a href="http://www.duwenzhang.com/huati/haizi/index1.html"><font color="#000000">孩子</font></a><font color="#000000">才有……</font></p><p align="center"><font color="#000000">第五张：</font><a href="http://www.duwenzhang.com/huati/xiwang/index1.html"><font color="#000000">希望</font></a></p><p align="center"><font color="#000000"><img height="199" alt="十张叫做幸福的照片" src="http://www.duwenzhang.com/upimg/userup/0809/131112401Q7.jpg" width="273" border="0" 0="" /></font></p><p align="center"><font color="#000000">长辈无微不至的关爱<br />只是希望下一代或者几代能够“过得比我好！”</font></p><p align="center"><font color="#000000">第六张：分享</font></p><p align="center"><a href="http://www.duwenzhang.com/wenzhang/shenghuosuibi/shenghuoganwu/20080913/18229.html"><font color="#000000"><img height="177" alt="十张叫做幸福的照片" src="http://www.duwenzhang.com/upimg/userup/0809/1311131S3F.jpg" width="297" border="0" 0="" /></font></a></p><p align="center"><font color="#000000">地域不同，<br />宗教信仰不同<br />但是同一片蓝天下<br />有很多东西，是大家一直在共享的<br />比如：空气：）</font></p><p align="center"><font color="#000000">第七张：自然</font></p><p align="center"><a href="http://www.duwenzhang.com/wenzhang/shenghuosuibi/shenghuoganwu/20080913/18229.html"><font color="#000000"><img height="283" alt="十张叫做幸福的照片" src="http://www.duwenzhang.com/upimg/userup/0809/1311140IW5.jpg" width="189" border="0" 0="" /></font></a></p><p align="center"><font color="#000000">看到这张照片，我有一种</font><a href="http://www.duwenzhang.com/huati/gandong/index1.html"><font color="#000000">莫名的感动</font></a><font color="#000000">，想起小的时候淋雨的情景……</font></p><p align="center"><font color="#000000">第八张：野花</font></p><p align="center"><font color="#000000"><img height="199" alt="十张叫做幸福的照片" src="http://www.duwenzhang.com/upimg/userup/0809/13111434Jb.jpg" width="255" border="0" 0="" /></font></p><p align="center"><font color="#000000">是的，幸福就是一朵野花，用自己的</font><a href="http://www.duwenzhang.com/huati/shengming/index1.html"><font color="#000000">生命</font></a><font color="#000000">展示</font><a href="http://www.duwenzhang.com/huati/meili/index1.html"><font color="#000000">美丽</font></a><font color="#000000">，这就是幸福了……</font></p><p align="center"><font color="#000000">第九张：求知</font></p><p align="center"><a href="http://www.duwenzhang.com/wenzhang/shenghuosuibi/shenghuoganwu/20080913/18229.html"><font color="#000000"><img height="328" alt="十张叫做幸福的照片" src="http://www.duwenzhang.com/upimg/userup/0809/1311145M1W.jpg" width="269" border="0" 0="" /></font></a></p><p align="center"><font color="#000000">这是一张老照片，初看的时候</font><a href="http://www.duwenzhang.com/huati/ganjue/index1.html"><font color="#000000">感觉</font></a><font color="#000000">心酸，逐渐的，发现了求知的力量，<br />破旧的教室，打满布丁的衣裳，却掩盖不了心中对知识的渴望，<br />比起那些一坐进教室就头疼的城里孩子来讲，他就是幸福的。</font></p><p align="center"><font color="#000000">第十张：孩子</font></p><p align="center"><a href="http://www.duwenzhang.com/sanwen.html"><font color="#000000"><img height="214" alt="散文欣赏" src="http://www.duwenzhang.com/upimg/userup/0809/131115353112.jpg" width="263" border="0" 0="" /></font></a></p><p align="center"><font color="#000000">他们是落入凡间的精灵，那笑是可以让人忘记烦恼的……</font></p><p align="center"><font color="#000000"></font> </p><p align="center">ref:<a href="http://www.duwenzhang.com/wenzhang/shenghuosuibi/shenghuoganwu/20080913/18229.html">http://www.duwenzhang.com/wenzhang/shenghuosuibi/shenghuoganwu/20080913/18229.html</a></p><img src ="http://www.blogjava.net/guoyongfei/aggbug/235411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-10-20 11:25 <a href="http://www.blogjava.net/guoyongfei/archive/2008/10/20/235411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux查看进程</title><link>http://www.blogjava.net/guoyongfei/archive/2008/10/20/235391.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Mon, 20 Oct 2008 01:52:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/10/20/235391.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/235391.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/10/20/235391.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/235391.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/235391.html</trackback:ping><description><![CDATA[netstat –tln //查看服务监听端口<br />netstat //查看进程号<br />ps –aux //查看进程号<br />ps –aux | more //全部查看<br />ps –ef | grep mysql //查看mysql的进程<br />kill -9 3306 //强制杀掉进程号3306<img src ="http://www.blogjava.net/guoyongfei/aggbug/235391.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-10-20 09:52 <a href="http://www.blogjava.net/guoyongfei/archive/2008/10/20/235391.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql命令导入导出数据库语句</title><link>http://www.blogjava.net/guoyongfei/archive/2008/09/22/230441.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Mon, 22 Sep 2008 07:59:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/09/22/230441.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/230441.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/09/22/230441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/230441.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/230441.html</trackback:ping><description><![CDATA[一、mysql命令导出数据库(&gt;)：mysqldump -u root -p dbname&gt;d:/db.sql<br />二、mysql命令导入数据库(&lt;)：mysql -u root -p dbname&lt;d:/db.sql<img src ="http://www.blogjava.net/guoyongfei/aggbug/230441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-09-22 15:59 <a href="http://www.blogjava.net/guoyongfei/archive/2008/09/22/230441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux和windows下添加文件路径的小区别</title><link>http://www.blogjava.net/guoyongfei/archive/2008/09/22/230358.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Mon, 22 Sep 2008 02:26:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/09/22/230358.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/230358.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/09/22/230358.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/230358.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/230358.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">最近发现一个windows和linux下的小区别:<br />linux</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下如果在应用名称后面加自己的文件路径的话,要转</span>
				<span lang="EN-US">"\\"</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为</span>
				<span lang="EN-US">"/"</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，因为</span>
				<span lang="EN-US">linux</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下</span>
				<span lang="EN-US">"\\"</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">显示的是</span>
				<span lang="EN-US">"webapps/appname\filepath"</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
<img src ="http://www.blogjava.net/guoyongfei/aggbug/230358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-09-22 10:26 <a href="http://www.blogjava.net/guoyongfei/archive/2008/09/22/230358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转:MySQL数据入库时特殊字符处理</title><link>http://www.blogjava.net/guoyongfei/archive/2008/08/22/223748.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Fri, 22 Aug 2008 07:22:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/08/22/223748.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/223748.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/08/22/223748.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/223748.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/223748.html</trackback:ping><description><![CDATA[
		<p>在一个字符串中，如果某个序列具有特殊的含义，每个序列以反斜线符号 (<samp><font color="#000080">“\”</font></samp>)开头，称为<em>转义字符</em>。 MySQL 识别下列转义字符： </p>
		<dl compact="">
				<dt>
						<code>
								<font color="#800080">\0</font>
						</code>
				</dt>
				<dd>
						<a name="IDX944">
						</a>
						<a name="IDX945">
						</a>一个 ASCII 0 (<code><font color="#800080">NUL</font></code>) 字符。 <a name="IDX946"></a><a name="IDX947"></a></dd>
				<dt>
						<code>
								<font color="#800080">\'</font>
						</code>
				</dt>
				<dd>一个 ASCII 39 单引号 (<samp><font color="#000080">“'”</font></samp>) 字符。 <a name="IDX948"></a><a name="IDX949"></a></dd>
				<dt>
						<code>
								<font color="#800080">\"</font>
						</code>
				</dt>
				<dd>一个 ASCII 34 双引号 (<samp><font color="#000080">“"”</font></samp>) 字符。 <a name="IDX950"></a><a name="IDX951"></a></dd>
				<dt>
						<code>
								<font color="#800080">\b</font>
						</code>
				</dt>
				<dd>一个 ASCII 8 退格符。 <a name="IDX952"></a><a name="IDX953"></a></dd>
				<dt>
						<code>
								<font color="#800080">\n</font>
						</code>
				</dt>
				<dd>一个 ASCII 10 换行符。 <a name="IDX954"></a><a name="IDX955"></a><a name="IDX956"></a></dd>
				<dt>
						<code>
								<font color="#800080">\r</font>
						</code>
				</dt>
				<dd>一个 ASCII 13 回车符。 <a name="IDX957"></a><a name="IDX958"></a></dd>
				<dt>
						<code>
								<font color="#800080">\t</font>
						</code>
				</dt>
				<dd>一个 ASCII 9 制表符(<code><font color="#800080">TAB</font></code>)。 <a name="IDX959"></a><a name="IDX960"></a></dd>
				<dt>
						<code>
								<font color="#800080">\z</font>
						</code>
				</dt>
				<dd>ASCII(26) (Control-Z)。这个字符可以处理在 Windows 系统中 ASCII(26) 代表一个文件的结束的问题。(当使用 <code><font color="#800080">mysql database &lt; filename</font></code> 时 ASCII(26) 可能会引起问题产生。) <a name="IDX961"></a><a name="IDX962"></a></dd>
				<dt>
						<code>
								<font color="#800080">\\</font>
						</code>
				</dt>
				<dd>一个 ASCII 92 反斜线 (<samp><font color="#000080">“\”</font></samp>) 字符。 <a name="IDX963"></a><a name="IDX964"></a></dd>
				<dt>
						<code>
								<font color="#800080">\%</font>
						</code>
				</dt>
				<dd>一个 ASCII 37 <samp><font color="#000080">“%”</font></samp> 字符。它用于在正文中搜索<samp><font color="#000080">“%”</font></samp>的文字实例，否则这里<samp><font color="#000080">“%”</font></samp>将解释为一个通配符。 <a name="IDX965"></a><a name="IDX966"></a></dd>
				<dt>
						<code>
								<font color="#800080">\_</font>
						</code>
				</dt>
				<dd>一个 ASCII 95 <samp><font color="#000080">“_”</font></samp> 字符。它用于在正文中搜索<samp><font color="#000080">“_”</font></samp>的文字实例，否则这里<samp><font color="#000080">“_”</font></samp>将解释为一个通配符。 </dd>
		</dl>
		<p>注意如果在某些正文环境内使用 <samp><font color="#000080">“\%”</font></samp> 或 <samp><font color="#000080">“\_”</font></samp>，将返回字符串 <samp><font color="#000080">“\%”</font></samp> 和 <samp><font color="#000080">“\_”</font></samp> 而不是 <samp><font color="#000080">“%”</font></samp> 和 <samp><font color="#000080">“_”</font></samp>。</p>
		<p>
				<a name="IDX967">
				</a>字符串中包含引号的可以有下列几种写法：</p>
		<ul>
				<li>一个字符串用单引号<samp><font color="#000080">“'”</font></samp>来引用的，该字符串中的单引号<samp><font color="#000080">“'”</font></samp>字符可以用<samp><font color="#000080">“''”</font></samp>方式转义。 
</li>
				<li>一个字符串用双引号<samp><font color="#000080">“"”</font></samp>来引用的，该字符串中的<samp><font color="#000080">“"”</font></samp>字符可以用<samp><font color="#000080">“""”</font></samp>方式转义。 
</li>
				<li>你也可以继续使用在引号前加一个转义字符<samp><font color="#000080">“\”</font></samp>来转义的方式。 
</li>
				<li>一个字符串用双引号<samp><font color="#000080">“"”</font></samp>来引用的，该字符串中的单引号<samp><font color="#000080">“'”</font></samp>不需要特殊对待而且不必被重复或转义。同理，一个字符串用单引号<samp><font color="#000080">“'”</font></samp>来引用的，该字符串中的双引号<samp><font color="#000080">“"”</font></samp>不需要特殊对待而且不必被重复或转义。 </li>
		</ul>
		<p>下面显示的 <code><font color="#800080">SELECT</font></code> 演示引号和转义是如何工作： </p>
		<pre>mysql&gt; SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';</pre>
		<pre>+-------+---------+-----------+--------+--------+</pre>
		<pre>| hello | "hello" | ""hello"" | hel'lo | 'hello |</pre>
		<pre>+-------+---------+-----------+--------+--------+</pre>
		<pre>mysql&gt; SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello";</pre>
		<pre>+-------+---------+-----------+--------+--------+</pre>
		<pre>| hello | 'hello' | ''hello'' | hel"lo | "hello |</pre>
		<pre>+-------+---------+-----------+--------+--------+</pre>
		<pre>mysql&gt; SELECT "This\nIs\nFour\nlines";</pre>
		<pre>+--------------------+</pre>
		<pre>| This</pre>
		<pre>Is</pre>
		<pre>Four</pre>
		<pre>lines |</pre>
		<pre>+--------------------+
</pre>
		<p> </p>
		<p>如果你想要把二进制数据插入到一个字符类型的字段中(例如<code><font color="#800080">BLOB</font></code>)，下列字符必须由转义序列表示： </p>
		<dl compact="">
				<dt>
						<code>
								<font color="#800080">NUL</font>
						</code>
				</dt>
				<dd>ASCII 0，你应该用 <samp><font color="#000080">“\0”</font></samp>（一个反斜线和一个ASCII <samp><font color="#000080">“0”</font></samp>字符）表示它。 
</dd>
				<dt>
						<code>
								<font color="#800080">\</font>
						</code>
				</dt>
				<dd>ASCII 92，反斜线。需要用 <samp><font color="#000080">“\\”</font></samp> 表示。 
</dd>
				<dt>
						<code>
								<font color="#800080">'</font>
						</code>
				</dt>
				<dd>ASCII 39，单引号。需要用 <samp><font color="#000080">“\'”</font></samp> 表示。 
</dd>
				<dt>
						<code>
								<font color="#800080">"</font>
						</code>
				</dt>
				<dd>ASCII 34，双引号。需要用 <samp><font color="#000080">“\"”</font></samp> 表示。  
</dd>
				<dd> </dd>
		</dl>
		<p>你应该在任何可能包含上述特殊字符的字符串中使用转义函数！ </p>
		<p>另外，很多 MySQL API 提供了一些占位符处理能力,这允许你在查询语句中插入特殊标记，然后在执行查询时对它们绑定数据值。这样，API 会自动为你从数值中转换它们。 <br /><br />ref:<a title="原文" href="http://blog.csdn.net/orafox/archive/2006/10/06/1322853.aspx" target="_blank">http://blog.csdn.net/orafox/archive/2006/10/06/1322853.aspx</a></p>
<img src ="http://www.blogjava.net/guoyongfei/aggbug/223748.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-08-22 15:22 <a href="http://www.blogjava.net/guoyongfei/archive/2008/08/22/223748.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于jdk5.0和1.4中 ResultSet 的 getInt(int index)方法区别</title><link>http://www.blogjava.net/guoyongfei/archive/2008/08/01/219351.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Fri, 01 Aug 2008 07:16:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/08/01/219351.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/219351.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/08/01/219351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/219351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/219351.html</trackback:ping><description><![CDATA[
		<p>
				<font style="BACKGROUND-COLOR: #c7edcc">昨天发现用不同的jdk调用getInt方法,返回的结果竟然不一样,用5.0的如果超过int的最大范围,将返回最大值,用1.4+tomcat5.5.23补丁包竟然报错,比较郁闷,应该是补丁包里处理方式和5.0不一样吧?我想1.4里面应该一样,希望哪位知道的兄弟姐妹,叔叔阿姨给小的解释下...................</font>
		</p>
<img src ="http://www.blogjava.net/guoyongfei/aggbug/219351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-08-01 15:16 <a href="http://www.blogjava.net/guoyongfei/archive/2008/08/01/219351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java反射机制</title><link>http://www.blogjava.net/guoyongfei/archive/2008/05/27/203292.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Tue, 27 May 2008 09:53:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/05/27/203292.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/203292.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/05/27/203292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/203292.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/203292.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 摘要																								Reflection 						是						Java						被视为动态（或准动态）语言的一个关键性质。这个机制允许程序在运行时透过						Reflection APIs						取得任何一个已知名称的						class						的内部信息，包括其						modifie...&nbsp;&nbsp;<a href='http://www.blogjava.net/guoyongfei/archive/2008/05/27/203292.html'>阅读全文</a><img src ="http://www.blogjava.net/guoyongfei/aggbug/203292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-05-27 17:53 <a href="http://www.blogjava.net/guoyongfei/archive/2008/05/27/203292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于java使用jacob.jar调用word的配置问题</title><link>http://www.blogjava.net/guoyongfei/archive/2008/04/28/196752.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Mon, 28 Apr 2008 07:07:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/04/28/196752.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/196752.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/04/28/196752.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/196752.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/196752.html</trackback:ping><description><![CDATA[最近用到了jacob.jar来转换word文件，出现一些问题都是关于配置的，先将一些配置说明一下，以供大家参考。<br />一、将jacob.dll拷贝到windows/system32下，并在部署环境中添加jacob.jar包，这两个文件的版本必须一致，不然会出现一些错误，如果多个应用用到改包，最好放到公共包目录下，因为可能出现一些错误。<br />二、如果通过上述配置还不能正确运用改包，则将jacob.dll放入 Java\jdk\jre\bin目录下，如果不是web应用，则需将jacob.dll放到Java\jdk\jre\lib\ext目录下。<br /><br />如果仍然出现no jacob in the java.library.path错误，<span class="javascript" id="text171455">把jacob.dll放到System.getProperty("java.library.path")取到的目录下。<br /></span><br /><br />提前祝大家五一快乐！<img src ="http://www.blogjava.net/guoyongfei/aggbug/196752.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-04-28 15:07 <a href="http://www.blogjava.net/guoyongfei/archive/2008/04/28/196752.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>.htc文件介绍(说明)</title><link>http://www.blogjava.net/guoyongfei/archive/2008/04/02/190288.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Wed, 02 Apr 2008 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/04/02/190288.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/190288.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/04/02/190288.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/190288.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/190288.html</trackback:ping><description><![CDATA[
		<font color="#3300ff">
				<strong>
						<font color="#ff0000">题记:</font>最近这个项目里面用到了htc文件,所有就准备了解一下,在网上找了些资料,发现这个讲的还是比较简洁清楚的,所有就贴出来供大家分享.<br /></strong>
		</font>
		<br />htc就是Html <br />Component,出来很长时间了,IE5以上开始支持.可以为一些有共同行为的html组件定义公用的行为,一是代码整洁,二是可以实现代码公用.不过我并没有大面积使用过它.因为这个东西只能被IE支持. <br />行为的具体内容定义在.htc文件中. <br />color.htc <br />//定义组件的方法和事件响应. <br />//事件 <br />&lt;PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="changeColor()" /&gt; <br />//方法 <br />&lt;PUBLIC:METHOD NAME="show" /&gt; <br />&lt;SCRIPT LANGUAGE="JScript"&gt; <br />function show() <br />{ <br />alert(element.innerText); <br /><br />} <br /><br /><br />function changeColor(){ <br />element.style.color='red'; <br /><br />} <br /><br /><br />&lt;/SCRIPT&gt; <br />Html定义: <br />&lt;html&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt;test&lt;/TITLE&gt; <br />&lt;STYLE&gt; <br />.f1{behavior:url(color.htc);} <br />&lt;/STYLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;span id="span1" class='f1'&gt;color&lt;/span&gt;&lt;br&gt; <br />&lt;button onclick="span1.show();"&gt;显示内容&lt;/button&gt;&lt;br&gt; <br />&lt;/BODY&gt; <br />&lt;/html&gt;<br /><br /><br />ref:<a href="http://zhidao.baidu.com/question/32230577.html" target="_blank">http://zhidao.baidu.com/question/32230577.html</a><br />呵呵,在百度知道上找问题还是很方便的.<br /><br /><strong>附:</strong><span style="COLOR: #0000ff">ondocumentready：htc所在网页加载完成<br />      oncontentready：htc文件加载完成</span><img src ="http://www.blogjava.net/guoyongfei/aggbug/190288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-04-02 10:30 <a href="http://www.blogjava.net/guoyongfei/archive/2008/04/02/190288.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>必须掌握的八个DOS命令 </title><link>http://www.blogjava.net/guoyongfei/archive/2008/04/01/190052.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Tue, 01 Apr 2008 04:59:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/04/01/190052.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/190052.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/04/01/190052.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/190052.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/190052.html</trackback:ping><description><![CDATA[
		<p>
				<strong>一，ping</strong> 　　 <br /><br />　　它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说，ping命令是第一个必须掌握的DOS命令，它所利用的原理是这样的：网络上的机器都有唯一确定的IP地址，我们给目标IP地址发送一个数据包，对方就要返回一个同样大小的数据包，根据返回的数据包我们可以确定目标主机的存在，可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧，在DOS窗口中键入：ping /? 回车，。所示的帮助画面。在此，我们只掌握一些基本的很有用的参数就可以了（下同）。 　　 <br /><br />　　-t 表示将不间断向目标IP发送数据包，直到我们强迫其停止。试想，如果你使用100M的宽带接入，而目标IP是56K的小猫，那么要不了多久，目标IP就因为承受不了这么多的数据而掉线，呵呵，一次攻击就这么简单的实现了。 　　 <br /><br />　　-l 定义发送数据包的大小，默认为32字节，我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用，会有更好的效果哦。 　　 <br /><br />　　-n 定义向目标IP发送数据包的次数，默认为3次。如果网络速度比较慢，3次对我们来说也浪费了不少时间，因为现在我们的目的仅仅是判断目标IP是否存在，那么就定义为一次吧。 　　 <br /><br />　　说明一下，如果-t 参数和 -n参数一起使用，ping命令就以放在后面的参数为标准，比如"ping IP -t -n 3"，虽然使用了-t参数，但并不是一直ping下去，而是只ping 3次。另外，ping命令不一定非得ping IP，也可以直接ping主机域名，这样就可以得到主机的IP。 　　 <br /><br />　　下面我们举个例子来说明一下具体用法。 　　 <br /><br />　　这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒，从这里可以判断网络连接速度的大小 。从TTL的返回值可以初步判断被ping主机的操作系统，之所以说"初步判断"是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。 <br /><br />　　（小知识：如果TTL=128，则表示目标主机可能是Win2000；如果TTL=250，则目标主机可能是Unix） <br /><br />　　至于利用ping命令可以快速查找局域网故障，可以快速搜索最快的QQ服务器，可以对别人进行ping攻击……这些就靠大家自己发挥了。 　　 <br /><br /><strong>二，nbtstat </strong>　　 <br /><br />　　该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接，使用这个命令你可以得到远程主机的NETBIOS信息，比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。 　　 <br /><br />　　-a 使用这个参数，只要你知道了远程主机的机器名称，就可以得到它的NETBIOS信息（下同）。 　　 <br /><br />　　-A 这个参数也可以得到远程主机的NETBIOS信息，但需要你知道它的IP。 <br /><br />　　-n 列出本地机器的NETBIOS信息。 　　 <br /><br />　　当得到了对方的IP或者机器名的时候，就可以使用nbtstat命令来进一步得到对方的信息了，这又增加了我们入侵的保险系数。 　　 <br /><br /><strong>三，netstat</strong> <br /><br />　　这是一个用来查看网络状态的命令，操作简便功能强大。 　　 <br /><br />　　-a 查看本地机器的所有开放端口，可以有效发现和预防木马，可以知道机器所开的服务等信息，如图4。 　　 <br /><br />　　这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法：netstat -a IP。 <br /><br />　　-r 列出当前的路由信息，告诉我们本地机器的网关、子网掩码等信息。用法：netstat -r IP。 <br /><strong>四，tracert </strong><br /><br />　　跟踪路由信息，使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径，这对我们了解网络布局和结构很有帮助。如图5。 　　 <br /><br />　　这里说明数据从本地机器传输到192.168.0.1的机器上，中间没有经过任何中转，说明这两台机器是在同一段局域网内。用法：tracert IP。 　　 <br /><br /><strong>五，net </strong>　　 <br /><br />　　这个命令是网络命令中最重要的一个，必须透彻掌握它的每一个子命令的用法，因为它的功能实在是太强大了，这简直就是<a href="http://www.microsoft.com/china/homepage/ms.htm" target="_blank"><img alt="" src="http://blog.fz0132.com/images/keywords/microsoft.gif" align="absMiddle" border="0" /><font color="#002c99"> 微软</font></a>为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令，键入net /?回车如图6。 <br /><br />　　在这里，我们重点掌握几个入侵常用的子命令。 　　 <br /><br />　　net view 　　 <br /><br />　　使用此命令查看远程主机的所以共享资源。命令格式为net view \IP。　　 <br /><br />　　net use <br /><br />　　把远程主机的某个共享资源影射为本地盘符，图形界面方便使用，呵呵。命令格式为net use x: \IP\sharename。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接（net use \IP\IPC$ "password" /user:"name"）， 　　 <br /><br />　　建立了IPC$连接后，呵呵，就可以上传文件了：copy nc.exe \192.168.0.7\admin$，表示把本地目录下的nc.exe传到远程主机，结合后面要介绍到的其他DOS命令就可以实现入侵了。 　　 <br /><br />　　net start <br /><br />　　使用它来启动远程主机上的服务。当你和远程主机建立连接后，如果发现它的什么服务没有启动，而你又想利用此服务怎么办？就使用这个命令来启动吧。用法：net start servername，如图9，成功启动了telnet服务。 　　 <br /><br />　　net stop <br /><br />　　入侵后发现远程主机的某个服务碍手碍脚，怎么办？利用这个命令停掉就ok了，用法和net start同。 　　 <br /><br />　　net user <br /><br />　　查看和帐户有关的情况，包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的，最重要的，它为我们克隆帐户提供了前提。键入不带参数的net user，可以查看所有用户，包括已经禁用的。下面分别讲解。 <br /><br />　　1，net user abcd 1234 /add，新建一个用户名为abcd，密码为1234的帐户，默认为user组成员。 <br /><br />　　2，net user abcd /del，将用户名为abcd的用户删除。 <br /><br />　　3，net user abcd /active:no，将用户名为abcd的用户禁用。 <br /><br />　　4，net user abcd /active:yes，激活用户名为abcd的用户。 <br /><br />　　5，net user abcd，查看用户名为abcd的用户的情况　　 <br /><br />　　net localgroup <br /><br />　　查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中，我们一般利用它来把某个帐户提升为administrator组帐户，这样我们利用这个帐户就可以控制整个远程主机了。用法：net localgroup groupname username /add。 　　 <br /><br />　　现在我们把刚才新建的用户abcd加到administrator组里去了，这时候abcd用户已经是超级管理员了，呵呵，你可以再使用net user abcd来查看他的状态，和图10进行比较就可以看出来。但这样太明显了，网管一看用户情况就能漏出破绽，所以这种方法只能对付菜鸟网管，但我们还得知道。现在的手段都是利用其他工具和手段克隆一个让网管看不出来的超级管理员，这是后话。有兴趣的朋友可以参照《黑客防线》第30期上的《由浅入深解析隆帐户》一文。 　　 <br /><br />　　net time <br /><br />　　这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面，那么也许就用不到这个命令了。但简单的入侵成功了，难道只是看看吗？我们需要进一步渗透。这就连远程主机当前的时间都需要知道，因为利用时间和其他手段（后面会讲到）可以实现某个命令和程序的定时启动，为我们进一步入侵打好基础。用法：net time \IP。 　　 <br /><br /><strong>六，at </strong></p>
		<p>这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序（知道net time的重要了吧？）。当我们知道了远程主机的当前时间，就可以利用此命令让其在以后的某个时间（比如2分钟后）执行某个程序和命令。用法：at time command \computer。 　　 <br /><br />　　表示在6点55分时，让名称为a-01的计算机开启telnet服务（这里net start telnet即为开启telnet服务的命令）。 　　 <br />七，ftp 　　 <br /><br />　　大家对这个命令应该比较熟悉了吧？网络上开放的ftp的主机很多，其中很大一部分是匿名的，也就是说任何人都可以登陆上去。现在如果你扫到了一台开放ftp服务的主机（一般都是开了21端口的机器），如果你还不会使用ftp的命令怎么办？下面就给出基本的ftp命令使用方法。 <br /><br />　　首先在命令行键入ftp回车，出现ftp的提示符，这时候可以键入"help"来查看帮助（任何DOS命令都可以使用此方法查看其帮助)。 　　 <br /><br />　　大家可能看到了，这么多命令该怎么用？其实也用不到那么多，掌握几个基本的就够了。 　　 <br /><br />　　首先是登陆过程，这就要用到open了，直接在ftp的提示符下输入"open 主机IP ftp端口"回车即可，一般端口默认都是21，可以不写。接着就是输入合法的用户名和密码进行登陆了，这里以匿名ftp为例介绍。 　　 <br /><br />　　用户名和密码都是ftp，密码是不显示的。当提示**** logged in时，就说明登陆成功。这里因为是匿名登陆，所以用户显示为Anonymous。 　　 <br /><br />　　接下来就要介绍具体命令的使用方法了。 　　 <br /><br />　　dir 跟DOS命令一样，用于查看服务器的文件，直接敲上dir回车，就可以看到此ftp服务器上的文件。 <br /><br />　　cd 进入某个文件夹。 <br /><br />　　get 下载文件到本地机器。 <br /><br />　　put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了，如果可以，呵呵，该怎么 利用就不多说了，大家就自由发挥去吧。 <br /><br />　　delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。 <br /><br />　　bye 退出当前连接。 <br /><br />　　quit 同上。 <br />　　 <br /><br /><strong>八，telnet</strong> <br /><br />　　功能强大的远程登陆命令，几乎所有的入侵者都喜欢用它，屡试不爽。为什么？它操作简单，如同使用自己的机器一样，只要你熟悉DOS命令，在成功以administrator身份连接了远程机器后，就可以用它来干你想干的一切了。下面介绍一下使用方法，首先键入telnet回车，再键入help查看其帮助信息。 　　 <br /><br />　　然后在提示符下键入open IP回车，这时就出现了登陆窗口，让你输入合法的用户名和密码，这里输入任何密码都是不显示的。 　　 <br /><br />　　当输入用户名和密码都正确后就成功建立了telnet连接，这时候你就在远程主机上具有了和此用户一样的权限，利用DOS命令就可以实现你想干的事情了。这里我使用的超级管理员权限登陆的。　　 <br /><br />　　到这里为止，网络DOS命令的介绍就告一段落了，这里介绍的目的只是给菜鸟网管一个印象，让其知道熟悉和掌握网络DOS命令的重要性。其实和网络有关的DOS命令还远不止这些，这里只是抛砖引玉，希望能对广大菜鸟网管有所帮助。学好DOS对当好网管有很大的帮助，特别的熟练掌握了一些网络的DOS命令。 <br /><br />　　另外大家应该清楚，任何人要想进入系统，必须得有一个合法的用户名和密码（输入法漏洞差不多绝迹了吧），哪怕你拿到帐户的只有一个很小的权限，你也可以利用它来达到最后的目的。所以坚决消灭空口令，给自己的帐户加上一个强壮的密码，是最好的防御弱口令入侵的方法。 <br /><br />　　最后，由衷的说一句，培养良好的安全意识才是最重要的。<br /><br />=========================================<br /><font color="#ff0000">开始→运行→命令集锦</font><br />winver---------检查Windows版本 <br />wmimgmt.msc----打开windows管理体系结构(WMI) <br />wupdmgr--------windows更新程序 <br />wscript--------windows脚本宿主设置 <br />write----------写字板 <br />winmsd---------系统信息 <br />wiaacmgr-------扫描仪和照相机向导 <br />winchat--------XP自带局域网聊天 <br /><br />mem.exe--------显示内存使用情况 <br />Msconfig.exe---系统配置实用程序 <br />mplayer2-------简易widnows media player <br />mspaint--------画图板 <br />mstsc----------远程桌面连接 <br />mplayer2-------媒体播放机 <br />magnify--------放大镜实用程序 <br />mmc------------打开控制台 <br />mobsync--------同步命令 <br /><br />dxdiag---------检查DirectX信息 <br />drwtsn32------ 系统医生 <br />devmgmt.msc--- 设备管理器 <br />dfrg.msc-------磁盘碎片整理程序 <br />diskmgmt.msc---磁盘管理实用程序 <br />dcomcnfg-------打开系统组件服务 <br />ddeshare-------打开DDE共享设置 <br />dvdplay--------DVD播放器 <br /><br />net stop messenger-----停止信使服务 <br />net start messenger----开始信使服务 <br />notepad--------打开记事本 <br />nslookup-------网络管理的工具向导 <br />ntbackup-------系统备份和还原 <br />narrator-------屏幕"讲述人" <br />ntmsmgr.msc----移动存储管理器 <br />ntmsoprq.msc---移动存储管理员操作请求 <br />netstat -an----(TC)命令检查接口 <br /><br />syncapp--------创建一个公文包 <br />sysedit--------系统配置编辑器 <br />sigverif-------文件签名验证程序 <br />sndrec32-------录音机 <br />shrpubw--------创建共享文件夹 <br />secpol.msc-----本地安全策略 <br />syskey---------系统加密，一旦加密就不能解开，保护windows xp系统的双重密码 <br />services.msc---本地服务设置 <br />Sndvol32-------音量控制程序 <br />sfc.exe--------系统文件检查器 <br />sfc /scannow---windows文件保护 <br /><br />tsshutdn-------60秒倒计时关机命令 <br />tourstart------xp简介（安装完成后出现的漫游xp程序） <br />taskmgr--------任务管理器 <br /><br />eventvwr-------事件查看器 <br />eudcedit-------造字程序 <br />explorer-------打开资源管理器 <br /><br /><br />packager-------对象包装程序 <br />perfmon.msc----计算机性能监测程序 <br />progman--------程序管理器 <br /><br />regedit.exe----注册表 <br />rsop.msc-------组策略结果集 <br />regedt32-------注册表编辑器 <br />rononce -p ----15秒关机 <br />regsvr32 /u *.dll----停止dll文件运行 <br />regsvr32 /u zipfldr.dll------取消ZIP支持 <br /><br />cmd.exe--------CMD命令提示符 <br />chkdsk.exe-----Chkdsk磁盘检查 <br />certmgr.msc----证书管理实用程序 <br />calc-----------启动计算器 <br />charmap--------启动字符映射表 <br />cliconfg-------SQL SERVER 客户端网络实用程序 <br />Clipbrd--------剪贴板查看器 <br />conf-----------启动netmeeting <br />compmgmt.msc---计算机管理 <br />cleanmgr-------垃圾整理 <br />ciadv.msc------索引服务程序 <br /><br />osk------------打开屏幕键盘 <br />odbcad32-------ODBC数据源管理器 <br />oobe/msoobe /a----检查XP是否激活 <br />lusrmgr.msc----本机用户和组 <br />logoff---------注销命令 <br /><br /><br />iexpress-------木马捆绑工具，系统自带 <br /><br />Nslookup-------IP地址侦测器 <br /><br />fsmgmt.msc-----共享文件夹管理器 <br /><br />utilman--------辅助工具管理器 <br /><br />gpedit.msc-----组策略<br /><br />ref:<a href="http://blog.csdn.net/zhijianshadog/archive/2005/04/11/343069.aspx" target="_blank">http://blog.csdn.net/zhijianshadog/archive/2005/04/11/343069.aspx</a></p>
<img src ="http://www.blogjava.net/guoyongfei/aggbug/190052.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-04-01 12:59 <a href="http://www.blogjava.net/guoyongfei/archive/2008/04/01/190052.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Html中Readonly和Disabled的区别</title><link>http://www.blogjava.net/guoyongfei/archive/2008/03/31/189750.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Mon, 31 Mar 2008 04:31:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/03/31/189750.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/189750.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/03/31/189750.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/189750.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/189750.html</trackback:ping><description><![CDATA[Readonly和Disabled是用在表单中的两个属性，它们都能够做到使用户不能够更改表单域中的内容。但是它们之间有着微小的差别，我在实践中得到了一些规律，总结如下：<br />Readonly只针对input(text / password)和textarea有效，而disabled对于所有的表单元素都有效，包括select, radio, checkbox, button等。但是表单元素在使用了disabled后，当我们将表单以POST或GET的方式提交的话，这个元素的值不会被传递出去，而readonly会将该值传递出去(这种情况出现在我们将某个表单中的textarea元素设置为disabled或readonly，但是submit button却是可以使用的)。<br />一般比较常用的情况是：<br />①在某个表单中为用户预填了某个唯一识别代码，不允许用户改动，但是在提交时需要传递该值，此时应该将它的属性设置为readonly<br />②经常遇到当用户正式提交了表单后需要等待管理员的信息验证，这就不允许用户再更改表单中的数据，而是只能够查看，由于disabled的作用元素范围大，所以此时应该使用disabled，但同时应该注意的是要将submit button也disabled掉，否则只要用户按了这个按钮，如果在数据库操作页面中没有做完整性检测的话，数据库中的值就会被清除。如果说在这种情况下用readonly来代替disabled的话，若表单中只有input(text / password)和textarea元素，那还是可以的，如果存在其他发元素，比如select，用户可以在重新改写值后按回车键进行提交(回车是默认的submit触发按键)<br />③我们常常在用户按了提交按钮后，利用javascript将提交按钮disabled掉，这样可以防止网络条件比较差的环境下，用户反复点提交按钮导致数据冗余地存入数据库。<br /><br />ref:<a href="http://hi.baidu.com/zidone/blog/item/78ae2cdd91fb06d88d10295e.html" target="_blank">http://hi.baidu.com/zidone/blog/item/78ae2cdd91fb06d88d10295e.html</a><img src ="http://www.blogjava.net/guoyongfei/aggbug/189750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-03-31 12:31 <a href="http://www.blogjava.net/guoyongfei/archive/2008/03/31/189750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>html中meta不容所觑的作用</title><link>http://www.blogjava.net/guoyongfei/archive/2008/03/28/189246.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Fri, 28 Mar 2008 05:19:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/03/28/189246.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/189246.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/03/28/189246.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/189246.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/189246.html</trackback:ping><description><![CDATA[突然发现meta对于网页是相当有用的,以前忽视了,可谓是"小标签大作用"啊。<br />一下是meta的一些介绍,希望大家以后网页经常用:<br /><br />meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的&lt;head&gt;与&lt;/head&gt;中，meta 标签的用处很多。meta 的属性有两种：name和http-equiv。name属性主要用于描述网页，对应于content（网页内容），以便于搜索引擎机器人查找、分类（目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类）。这其中最重要的是description（站点在搜索引擎上的描述）和 keywords（分类关键词），所以应该给每页加一个meta值<br /><strong>name 属性</strong><p>　　1、&lt;meta name="Generator" contect=""&gt;用以说明生成工具（如Microsoft FrontPage 4.0）等； </p><p>　　2、&lt;meta name="KEYWords" contect=""&gt;向搜索引擎说明你的网页的关键词； </p><p>　　3、&lt;meta name="DEscription" contect=""&gt;告诉搜索引擎你的站点的主要内容； </p><p>　　4、&lt;meta name="Author" contect="你的姓名"&gt;告诉搜索引擎你的站点的制作的作者； </p><p>　　5、&lt;meta name="Robots" contect= "all|none|index|noindex|follow|nofollow"&gt; </p><p>　　其中的属性说明如下： </p><p>　　设定为all：文件将被检索，且页面上的链接可以被查询； </p><p>　　设定为none：文件将不被检索，且页面上的链接不可以被查询； </p><p>　　设定为index：文件将被检索； </p><p>　　设定为follow：页面上的链接可以被查询； </p><p>　　设定为noindex：文件将不被检索，但页面上的链接可以被查询； </p><p>　　设定为nofollow：文件将不被检索，页面上的链接可以被查询。 </p><p>　　<strong>http-equiv属性</strong></p><p>　　1、&lt;meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80"&gt; </p><p>和 &lt;meta http-equiv="Content-Language" contect="zh-CN"&gt;用以说明主页制作所使用的文字以及语言； </p><p>　　又如英文是ISO-8859-1字符集，还有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集； </p><p>　　2、&lt;meta http-equiv="Refresh" contect="n;url=http://yourlink"&gt;定时让网页在指定的时间n内，跳转到页面http://yourlink； </p><p>　　3、&lt;meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT"&gt;可以用于设定网页的到期时间，一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式； </p><p>　　4、&lt;meta http-equiv="Pragma" contect="no-cache"&gt;是用于设定禁止浏览器从本地机的缓存中调阅页面内容，设定后一旦离开网页就无法从Cache中再调出； </p><p>　　5、&lt;meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT"&gt;cookie设定，如果网页过期，存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式； </p><p>　　6、&lt;meta http-equiv="Pics-label" contect=""&gt;网页等级评定，在IE的internet选项中有一项内容设置，可以防止浏览一些受限制的网站，而网站的限制级别就是通过meta属性来设置的； </p><p>　　7、&lt;meta http-equiv="windows-Target" contect="_top"&gt;强制页面在当前窗口中以独立页面显示，可以防止自己的网页被别人当作一个frame页调用； </p><p>　　8、&lt;meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion= 50)"&gt;和&lt;meta http-equiv="Page-Exit" contect="revealTrans(duration=20，transtion=6)"&gt;设定进入和离开页面时的特殊效果，这个功能即 FrontPage中的"格式/网页过渡"，不过所加的页面不能够是一个frame页面。<br /><br />ref:<a href="http://hi.baidu.com/litertiger/blog/item/164ed207c96d8fcd7b894799.html" target="_blank">http://hi.baidu.com/litertiger/blog/item/164ed207c96d8fcd7b894799.html</a></p><img src ="http://www.blogjava.net/guoyongfei/aggbug/189246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-03-28 13:19 <a href="http://www.blogjava.net/guoyongfei/archive/2008/03/28/189246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat5.0.30和5.5.25连接池配置区别</title><link>http://www.blogjava.net/guoyongfei/archive/2008/03/20/187528.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Thu, 20 Mar 2008 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/03/20/187528.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/187528.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/03/20/187528.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/187528.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/187528.html</trackback:ping><description><![CDATA[以下文件均在{tomcat}\conf\Catalina\localhost中配置:<br />这是在5.0.30中配置得test.xml:<br />&lt;Context docBase="test" path="/test"&gt;<br />  &lt;Resource name="TestDataSource" type="javax.sql.DataSource"/&gt;<br />  &lt;ResourceParams name="TestDataSource"&gt;<br />    &lt;parameter&gt;<br />      &lt;name&gt;url&lt;/name&gt;<br />      &lt;value&gt;jdbc:oracle:thin:@localhost:1521:oracle&lt;/value&gt;<br />    &lt;/parameter&gt;<br />    &lt;parameter&gt;<br />      &lt;name&gt;password&lt;/name&gt;<br />      &lt;value&gt;password&lt;/value&gt;<br />    &lt;/parameter&gt;<br />    &lt;parameter&gt;<br />      &lt;name&gt;maxActive&lt;/name&gt;<br />      &lt;value&gt;100&lt;/value&gt;<br />    &lt;/parameter&gt;<br />    &lt;parameter&gt;<br />      &lt;name&gt;maxWait&lt;/name&gt;<br />      &lt;value&gt;5000&lt;/value&gt;<br />    &lt;/parameter&gt;<br />    &lt;parameter&gt;<br />      &lt;name&gt;driverClassName&lt;/name&gt;<br />      &lt;value&gt;oracle.jdbc.OracleDriver&lt;/value&gt;<br />    &lt;/parameter&gt;<br />    &lt;parameter&gt;<br />      &lt;name&gt;username&lt;/name&gt;<br />      &lt;value&gt;username&lt;/value&gt;<br />    &lt;/parameter&gt;<br />    &lt;parameter&gt;<br />      &lt;name&gt;maxIdle&lt;/name&gt;<br />      &lt;value&gt;50&lt;/value&gt;<br />    &lt;/parameter&gt;<br />  &lt;/ResourceParams&gt;<br />&lt;/Context&gt;<br /><br /><br />这是在5.5.25中配置得test.xml:<br />&lt;Context docBase="test" path="/test" debug="0" reloadable="true"&gt;<br />&lt;Resource<br />      name="TestDataSource"<br />      type="javax.sql.DataSource"<br />      password="password"<br />      driverClassName="oracle.jdbc.OracleDriver"<br />      maxIdle="2"<br />      maxWait="5000"<br />      username="username"<br />      url="jdbc:oracle:thin:@localhost:1521:oracle"<br />      maxActive="4"/&gt;<br />&lt;/Context&gt;<br />如果在连接数据库时提示connect url为""或null,根据版本改成上面的就可以了.<br /><br />但是为什么在两个版本下调用另一个就会出错,是什么原因?希望高人解答.<br />我感觉至少应该向下兼容啊,晕!<img src ="http://www.blogjava.net/guoyongfei/aggbug/187528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-03-20 17:16 <a href="http://www.blogjava.net/guoyongfei/archive/2008/03/20/187528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle数据关联查询</title><link>http://www.blogjava.net/guoyongfei/archive/2008/03/18/187014.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Tue, 18 Mar 2008 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/03/18/187014.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/187014.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/03/18/187014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/187014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/187014.html</trackback:ping><description><![CDATA[
		<p style="TEXT-INDENT: 2em">
				<span class="b">今天又有小进步,^_^!<br /><br />         来源：赛迪网</span>    <span class="b">作者：Alizze</span></p>
		<p style="TEXT-INDENT: 2em">
				<span class="b">
				</span>
		</p>
		<p style="TEXT-INDENT: 2em">
				<span class="b">
						<br />
				</span>
		</p>
		<p style="TEXT-INDENT: 2em">关联在Oracle数据查询时会经常用到,灵活的应用关联可以解决很多实际应用的问题.下面给出一些示例: </p>
		<p style="TEXT-INDENT: 2em">
		</p>
		<p style="TEXT-INDENT: 2em">
				<strong>建表</strong>
		</p>
		<p style="TEXT-INDENT: 2em">
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>create table ab<br />(<br />ab_id  number(5),<br />ab_name varchar2(30)<br />);<br /><br />create table bb<br />(<br />bb_id  number(5),<br />bb_name varchar2(30)<br />);</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">
		</p>
		<p style="TEXT-INDENT: 2em">
		</p>
		<p style="TEXT-INDENT: 2em">
				<strong>插入数据</strong>
		</p>
		<p style="TEXT-INDENT: 2em">
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>insert into ab(ab_id,ab_name) values(1,'1ab_name');<br />insert into ab(ab_id,ab_name) values(2,'2ab_name');<br />insert into ab(ab_id,ab_name) values(3,'3ab_name');<br /><br />insert into bb(bb_id,bb_name) values(1,'1bb_name');<br />insert into bb(bb_id,bb_name) values(2,'2bb_name');<br />insert into bb(bb_id,bb_name) values(4,'4bb_name');<br />insert into bb(bb_id,bb_name) values(6,'6bb_name');</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">
				<strong>等值关联（全关联）</strong>
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>select a.ab_id,a.ab_name,b.bb_name from ab a,<br />              bb b<br />where a.ab_id=b.bb_id;</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">
				<strong>返回结果</strong>
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>AB_ID AB_NAME BB_NAME<br />1 1ab_name 1bb_name<br />2 2ab_name 2bb_name</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">
		</p>
		<p style="TEXT-INDENT: 2em">返回两个表中所有能匹配的记录，不能匹配的记录不返回。 </p>
		<p style="TEXT-INDENT: 2em">
				<strong>左关联</strong>
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>select ab_id,ab_name, bb_name <br />from ab a left join  bb b<br />on a.ab_id=b.bb_id;<br />同<br />select ab_id,ab_name, bb_name <br />from ab a , bb b<br />where a.ab_id=b.bb_id(+);</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">
				<strong>返回结果</strong>
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>AB_ID AB_NAME BB_NAME<br />1 1ab_name 1bb_name<br />2 2ab_name 2bb_name<br />3 3ab_name</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">返回左边表的左右记录，在右边表中没有对应记录的右表字段显示为空。 </p>
		<p style="TEXT-INDENT: 2em">
				<strong>右关联</strong>
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>select ab_id,ab_name, bb_name <br />from ab a right join  bb b<br />on a.ab_id=b.bb_id;<br />同<br />select ab_id,ab_name, bb_name <br />from ab a , bb b<br />where a.ab_id(+)=b.bb_id;</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">
				<strong>返回结果:</strong>
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>AB_ID AB_NAME BB_NAME<br />1 1ab_name 1bb_name<br />2 2ab_name 2bb_name<br />4bb_name<br />6bb_name</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">返回右边表中所有的记录，在右边表不能匹配的记录行上，左边表对应的字段显示为空。 </p>
		<p style="TEXT-INDENT: 2em">
				<strong>完全外关联</strong>
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>select ab_id,ab_name, bb_name <br />from ab a full join  bb b<br />on a.ab_id=b.bb_id;</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">
				<strong>返回结果</strong>
		</p>
		<center>
				<ccid_nobr>
				</ccid_nobr>
				<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
						<tbody>
								<tr>
										<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
												<pre>
														<ccid_code>AB_ID AB_NAME BB_NAME<br />1 1ab_name 1bb_name<br />2 2ab_name 2bb_name<br />3 3ab_name <br />6bb_name<br />4bb_name</ccid_code>
												</pre>
										</td>
								</tr>
						</tbody>
				</table>
		</center>
		<p style="TEXT-INDENT: 2em">
		</p>
		<p style="TEXT-INDENT: 2em">返回两个表所有的结果，如果在关联条件上没有对应的记录，那么将在该列上显示为空。 </p>
		<p style="TEXT-INDENT: 2em">
		</p>
		<p style="TEXT-INDENT: 2em">全关联返回的结果集范围最小。完全外关联返回的结果范围最大，是否左关联和右关联并集；全关联是左关联和右关联的交集。</p>
<img src ="http://www.blogjava.net/guoyongfei/aggbug/187014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-03-18 15:32 <a href="http://www.blogjava.net/guoyongfei/archive/2008/03/18/187014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>做了一个用ajax判断用户名是否注册的代码,呵呵</title><link>http://www.blogjava.net/guoyongfei/archive/2008/03/12/185765.html</link><dc:creator>郭永斐</dc:creator><author>郭永斐</author><pubDate>Wed, 12 Mar 2008 09:49:00 GMT</pubDate><guid>http://www.blogjava.net/guoyongfei/archive/2008/03/12/185765.html</guid><wfw:comment>http://www.blogjava.net/guoyongfei/comments/185765.html</wfw:comment><comments>http://www.blogjava.net/guoyongfei/archive/2008/03/12/185765.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/guoyongfei/comments/commentRss/185765.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guoyongfei/services/trackbacks/185765.html</trackback:ping><description><![CDATA[
		<p>1.judgeUsername.html页面: <br />&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />&lt;html&gt;<br />  &lt;head&gt;<br />    &lt;title&gt;judegUsername.html&lt;/title&gt;<br /> <br />    &lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;<br />    <br />    &lt;script language="JavaScript" type="text/javascript"&gt;<br />    var request = false;<br />    try{<br />     request = new XMLHttpRequest();<br />    }catch(microsoftIE){<br />     try{<br />      request = new ActiveXObject("Msxml2.XMLHTTP");<br />     }catch(microsoftOldIE){<br />      try{<br />       request = new ActiveXObject("Microsoft.XMLHTTP");<br />      }catch(failed){<br />       request = false;<br />      }<br />     }<br />    }<br />    if(!request){<br />     alert("初始化XMLHttpRequest对象失败");<br />    }<br />    function sendUsername(){<br />     var username = document.getElementById("username").value;<br />     if(username!=null &amp;&amp; username!=""){<br />      var url = "./judgeUsername.jsp?username="+escape(username);<br />      request.open("get",url,true);<br />      request.onreadystatechange=updatepage;<br />      request.send(null);<br />     }<br />    }<br />    function updatepage(){<br />     if(request.readyState==4){<br />      if(request.status==200){<br />       document.getElementById("reusername").innerHTML = request.responseText;<br />       //document.getDocumentById("reusername").innerText = request.responseText;<br />      }else if(request.status==404){<br />       alert("找不到页面！");<br />      }else{<br />       alert("错误代码:"+request.status);<br />      }<br />     }<br />    }<br />    function clearMessage(){<br />     document.getElementById("reusername").innerHTML = "";<br />    }<br />    &lt;/script&gt;</p>
		<p>  &lt;/head&gt;<br />  <br />  &lt;body&gt;<br />   &lt;form action="/register.jsp" method="post"&gt;<br />    &lt;table align="center"&gt;<br />     &lt;caption&gt;guoyongfei为已注册，其他均未注册&lt;/caption&gt;<br />     &lt;tr&gt;&lt;th&gt;用 户 名：&lt;/th&gt;&lt;td&gt;&lt;input type="text" name="username" id="username" onblur="sendUsername()" onfocus="clearMessage()"/&gt;&lt;/td&gt;&lt;td width="40%" id="reusername"&gt;&lt;/td&gt;&lt;/tr&gt;<br />     &lt;tr&gt;&lt;th&gt;密　　码：&lt;/th&gt;&lt;td&gt;&lt;input type="password" name="password" id="password"/&gt;&lt;/td&gt;&lt;td width="20"&gt;&lt;/td&gt;&lt;/tr&gt;<br />     &lt;tr&gt;&lt;th&gt;密码确认：&lt;/th&gt;&lt;td&gt;&lt;input type="surePassword" name="surePassword" id="surePassword"/&gt;&lt;/td&gt;&lt;td width="20"&gt;&lt;/td&gt;&lt;/tr&gt;<br />    &lt;/table&gt;<br />  &lt;/body&gt;<br />&lt;/html&gt;<br /></p>
		<p>2.judgeUsername.jsp页面:<br />&lt;%@ page language="java" pageEncoding="UTF-8"%&gt;<br />&lt;%<br /> String username = request.getParameter("username");<br /> //System.out.println("username:"+username);<br /> if(username.equals("guoyongfei")){<br />  out.println("&lt;font color='red'&gt;用户名已经注册&lt;/font&gt;");<br /> }else{<br />  out.println("&lt;font color='green'&gt;用户名可以用&lt;/font&gt;");<br /> }<br /> %&gt;<br /><font color="#ff0000">希望大家给推荐下提示信息较好的表示方法.....</font></p>
<img src ="http://www.blogjava.net/guoyongfei/aggbug/185765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guoyongfei/" target="_blank">郭永斐</a> 2008-03-12 17:49 <a href="http://www.blogjava.net/guoyongfei/archive/2008/03/12/185765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>