<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<channel>
	<title>holley's blogs</title>
	<link>http://www.rhl.name/</link>
	<language>zh-CN</language>
	<webMaster>admin@rhl.com(holley)</webMaster>
	<pubDate>Wed, 24 Jun 2009 02:31:06 GMT</pubDate>
	<copyright>Copyright 2007-2009. All rights reserved.</copyright>
	<generator>Bitrac Free Version</generator>
	<description>活到老学到老 - 华立的博客</description>
	<image>
		<title>holley&apos;s blogs</title>
		<url>http://www.rhl.name/Client/Banner.gif</url>
		<link>http://www.rhl.name/</link>
		<description>活到老学到老 - 华立的博客</description>
	</image>
	<item>
		<link>http://www.rhl.name/Article/137.aspx</link>
		<title>一键分享到新浪微博、搜狐微博</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>网页</category>
		<pubDate>Wed, 08 Sep 2010 01:32:58 GMT</pubDate>
		<description>&lt;p&gt;在想要显示的位置添加以下代码即可&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;分享至：&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javascript:void((function(s,d,e,r,l,p,t,z,c){var%20f=&apos;&amp;nbsp;&amp;nbsp;http://v.t.sina.com.cn/share/share.php?appkey=4135974594&apos;,u=z||d.location,p=[&apos;&amp;amp;url=&apos;,e(u),&apos;&amp;amp;title=&apos;,e(t||d.title),&apos;&amp;amp;source=&apos;,e(r),&apos;&amp;amp;sourceUrl=&apos;,e(l),&apos;&amp;amp;content=&apos;,c||&apos;gb2312&apos;,&apos;&amp;amp;pic=&apos;,e(p||&apos;&apos;)].join(&apos;&apos;);function%20a(){if(!window.open([f,p].join(&apos;&apos;),&apos;mb&apos;,[&apos;toolbar=0,status=0,resizable=1,width=440,height=430,left=&apos;,(s.width-440)/2,&apos;,top=&apos;,(s.height-430)/2].join(&apos;&apos;)))u.href=[f,p].join(&apos;&apos;);};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();})(screen,document,encodeURIComponent,&apos;&apos;,&apos;&apos;,&apos;&apos;,&apos;&apos;,&apos;&apos;,&apos;&apos;));&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;IMG&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;border&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;0&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;alt&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;分享至新浪微博RSS&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://simg.sinajs.cn/miniblog/images/common/smalllogo.gif&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;16&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;height&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;新浪微博&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;title&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;分享到搜狐微博&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javascript:void((function(s,d,e,r,l,p,t,z,c){var&amp;nbsp;f=&apos;http://t.sohu.com/third/post.jsp?&apos;,u=z||d.location,p=[&apos;&amp;amp;url=&apos;,e(u),&apos;&amp;amp;title=&apos;,e(t||d.title),&apos;&amp;amp;content=&apos;,c||&apos;gb2312&apos;,&apos;&amp;amp;pic=&apos;,e(p||&apos;&apos;)].join(&apos;&apos;);function%20a(){if(!window.open([f,p].join(&apos;&apos;),&apos;mb&apos;,[&apos;toolbar=0,status=0,resizable=1,width=660,height=470,left=&apos;,(s.width-660)/2,&apos;,top=&apos;,(s.height-470)/2].join(&apos;&apos;)))u.href=[f,p].join(&apos;&apos;);};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();})(screen,document,encodeURIComponent,&apos;&apos;,&apos;&apos;,&apos;&apos;,&apos;&apos;,&apos;&apos;,&apos;utf-8&apos;));&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;margin:0&amp;nbsp;0&amp;nbsp;0&amp;nbsp;20px;font-size:12px;font-family:&apos;\5b8b\4f53&apos;;color:#369&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;span&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;style&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;display:inline-block;width:16px;height:16px;margin:0&amp;nbsp;3px&amp;nbsp;0.2em&amp;nbsp;-20px;vertical-align:middle;background:url(http://s2.cr.itc.cn/img/t/152.png)&amp;nbsp;no-repeat&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;span&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;搜狐微博&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://www.rhl.name/Article/137.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/137/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/137.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/137/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/136.aspx</link>
		<title>JS延迟加载或JS最后加载加快网页打开速度</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>网页</category>
		<pubDate>Sun, 05 Sep 2010 14:21:21 GMT</pubDate>
		<description>&lt;p&gt;&amp;nbsp;第一，JS延迟加载&lt;/p&gt;&lt;p&gt;代码如下:&lt;/p&gt;&lt;p&gt;程序代码&lt;/p&gt;&lt;p&gt;&amp;lt;script language=&amp;quot;JavaScript&amp;quot; src=&amp;quot;&amp;quot; id=&amp;quot;my&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;lt;script&amp;gt; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; setTimeout(&amp;quot;document.getElementById(&apos;my&apos;).src=&apos;include/php100.php&apos;; &amp;quot;,3000);//延时3秒 &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;第二,JS最后加载&lt;/p&gt;&lt;p&gt;在需要插入JS的地方插入以下代码:&lt;/p&gt;&lt;p&gt;程序代码&lt;/p&gt;&lt;p&gt;&amp;lt;SPAN id=L4EVER&amp;gt;LOADING...&amp;lt;/SPAN&amp;gt;&lt;/p&gt;&lt;p&gt;当然,那个LOADING…你可以换成自己喜欢的小图片.看起来很有AJAX效果呢.&lt;/p&gt;&lt;p&gt;然后在页面最底端插入:&lt;/p&gt;&lt;p&gt;程序代码&lt;/p&gt;&lt;p&gt;&amp;lt;SPAN class=spanclass id=AD_L4EVER&amp;gt;&lt;/p&gt;&lt;p&gt;你的JS代码在这里!&amp;lt;/SPAN&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;script&amp;gt;L4EVER.innerHTML=AD_L4EVER.innerHTML;AD_L4EVER.innerHTML=&amp;quot;&amp;quot;;&amp;lt;/script&amp;gt;&lt;/p&gt;&lt;p&gt;第三,JS最后加载&lt;/p&gt;&lt;p&gt;想要显示广告的位置&lt;/p&gt;&lt;p&gt;&amp;lt;div id=&amp;quot;guangg1&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; 想要显示的广告内容&lt;/p&gt;&lt;p&gt;&amp;lt;div id=&amp;quot;ggad1&amp;quot; style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;lt;script language=&amp;quot;javascript&amp;quot;&lt;/p&gt;&lt;p&gt;src=&amp;quot;/frontpage/include/php100.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; 判断要显示的广告位置是否存在&lt;/p&gt;&lt;p&gt;&amp;lt;script&amp;gt;&lt;/p&gt;&lt;p&gt;function chkdiv(divid){&amp;nbsp;&lt;/p&gt;&lt;p&gt;var chkid=document.getElementById(divid);&amp;nbsp;&lt;/p&gt;&lt;p&gt;if(chkid != null)&lt;/p&gt;&lt;p&gt;{return true; }&amp;nbsp;&lt;/p&gt;&lt;p&gt;else&amp;nbsp;&lt;/p&gt;&lt;p&gt;{return false; }&amp;nbsp;&lt;/p&gt;&lt;p&gt;} &amp;nbsp; &amp;nbsp; 最后就是显示广告了&lt;/p&gt;&lt;p&gt;if (chkdiv(&apos;guangg1&apos;)) {&lt;/p&gt;&lt;p&gt;document.getElementById(&apos;guangg1&apos;).innerHTML= document.getElementById(&apos;ggad1&apos;).innerHTML;&lt;/p&gt;&lt;p&gt;document.getElementById(&apos;ggad1&apos;).innerHTML=&amp;quot;&amp;quot;;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;</description>
		<guid>http://www.rhl.name/Article/136.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/136/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/136.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/136/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/135.aspx</link>
		<title>常用PHP正则表达式</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>网页</category>
		<pubDate>Sun, 05 Sep 2010 14:15:32 GMT</pubDate>
		<description>&lt;p&gt;收集一下，以便备用。&lt;/p&gt;&lt;p&gt;&amp;nbsp;“^\d+$”　　//非负整数（正整数 + 0）&lt;/p&gt;&lt;div&gt;“^[0-9]*[1-9][0-9]*$”　　//正整数&lt;/div&gt;&lt;div&gt;“^((-\d+)|(0+))$”　　//非正整数（负整数 + 0）&lt;/div&gt;&lt;div&gt;“^-[0-9]*[1-9][0-9]*$”　　//负整数&lt;/div&gt;&lt;div&gt;“^-?\d+$”　　　　//整数&lt;/div&gt;&lt;div&gt;“^\d+(\.\d+)?$”　　//非负浮点数（正浮点数 + 0）&lt;/div&gt;&lt;div&gt;“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$” 　　//正浮点数&lt;/div&gt;&lt;div&gt;“^((-\d+(\.\d+)?)|(0+(\.0+)?))$”　　//非正浮点数（负浮点数 + 0）&lt;/div&gt;&lt;div&gt;“^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$” 　　//负浮点数&lt;/div&gt;&lt;div&gt;“^(-?\d+)(\.\d+)?$”　　//浮点数&lt;/div&gt;&lt;div&gt;“^[A-Za-z]+$”　　//由26个英文字母组成的字符串&lt;/div&gt;&lt;div&gt;“^[A-Z]+$”　　//由26个英文字母的大写组成的字符串&lt;/div&gt;&lt;div&gt;“^[a-z]+$”　　//由26个英文字母的小写组成的字符串&lt;/div&gt;&lt;div&gt;“^[A-Za-z0-9]+$”　　//由数字和26个英文字母组成的字符串&lt;/div&gt;&lt;div&gt;“^\w+$”　　//由数字、26个英文字母或者下划线组成的字符串&lt;/div&gt;&lt;div&gt;“^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$”　　　　//email地址&lt;/div&gt;&lt;div&gt;“^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$”　　//url&lt;/div&gt;&lt;div&gt;/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ &amp;nbsp; // &amp;nbsp;年-月-日&lt;/div&gt;&lt;div&gt;/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ &amp;nbsp; // 月/日/年&lt;/div&gt;&lt;div&gt;“^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$” &amp;nbsp; //Emil&lt;/div&gt;&lt;div&gt;/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/ &amp;nbsp; &amp;nbsp; //电话号码&lt;/div&gt;&lt;div&gt;“^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$” &amp;nbsp; //IP地址&lt;/div&gt;&lt;div&gt;匹配中文字符的正则表达式： [\u4e00-\u9fa5]&lt;/div&gt;&lt;div&gt;匹配双字节字符(包括汉字在内)：[^\x00-\xff]&lt;/div&gt;&lt;div&gt;匹配空行的正则表达式：\n[\s| ]*\r&lt;/div&gt;&lt;div&gt;匹配HTML标记的正则表达式：/&amp;lt;(.*)&amp;gt;.*&amp;lt;\/\1&amp;gt;|&amp;lt;(.*) \/&amp;gt;/&lt;/div&gt;&lt;div&gt;匹配首尾空格的正则表达式：(^\s*)|(\s*$)&lt;/div&gt;&lt;div&gt;匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&lt;/div&gt;&lt;div&gt;匹配网址URL的正则表达式：^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$&lt;/div&gt;&lt;div&gt;匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$&lt;/div&gt;&lt;div&gt;匹配国内电话号码：(\d{3}-|\d{4}-)?(\d{8}|\d{7})?&lt;/div&gt;&lt;div&gt;匹配腾讯QQ号：^[1-9]*[1-9][0-9]*$&lt;/div&gt;&lt;div&gt;元字符及其在正则表达式上下文中的行为：&lt;/div&gt;&lt;div&gt;\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。&lt;/div&gt;&lt;div&gt;^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性，^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。&lt;/div&gt;&lt;div&gt;$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性，$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。&lt;/div&gt;&lt;div&gt;* 匹配前面的子表达式零次或多次。&lt;/div&gt;&lt;div&gt;+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。&lt;/div&gt;&lt;div&gt;? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。&lt;/div&gt;&lt;div&gt;{n} n 是一个非负整数，匹配确定的n 次。&lt;/div&gt;&lt;div&gt;{n,} n 是一个非负整数，至少匹配n 次。&lt;/div&gt;&lt;div&gt;{n,m} m 和 n 均为非负整数，其中n &amp;lt;= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。&lt;/div&gt;&lt;div&gt;? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时，匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串，而默认的贪婪模式则尽可能多的匹配所搜索的字符串。&lt;/div&gt;&lt;div&gt;. 匹配除 “\n” 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符，请使用象 ’[.\n]’ 的模式。&lt;/div&gt;&lt;div&gt;(pattern) 匹配pattern 并获取这一匹配。&lt;/div&gt;&lt;div&gt;(?:pattern) 匹配pattern 但不获取匹配结果，也就是说这是一个非获取匹配，不进行存储供以后使用。&lt;/div&gt;&lt;div&gt;(?=pattern) 正向预查，在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配，也就是说，该匹配不需要获取供以后使用。&lt;/div&gt;&lt;div&gt;(?!pattern) 负向预查，与(?=pattern)作用相反&lt;/div&gt;&lt;div&gt;x|y 匹配 x 或 y。&lt;/div&gt;&lt;div&gt;[xyz] 字符集合。&lt;/div&gt;&lt;div&gt;[^xyz] 负值字符集合。&lt;/div&gt;&lt;div&gt;[a-z] 字符范围，匹配指定范围内的任意字符。&lt;/div&gt;&lt;div&gt;[^a-z] 负值字符范围，匹配任何不在指定范围内的任意字符。&lt;/div&gt;&lt;div&gt;\b 匹配一个单词边界，也就是指单词和空格间的位置。&lt;/div&gt;&lt;div&gt;\B 匹配非单词边界。&lt;/div&gt;&lt;div&gt;\cx 匹配由x指明的控制字符。&lt;/div&gt;&lt;div&gt;\d 匹配一个数字字符。等价于 [0-9]。&lt;/div&gt;&lt;div&gt;\D 匹配一个非数字字符。等价于 [^0-9]。&lt;/div&gt;&lt;div&gt;\f 匹配一个换页符。等价于 \x0c 和 \cL。&lt;/div&gt;&lt;div&gt;\n 匹配一个换行符。等价于 \x0a 和 \cJ。&lt;/div&gt;&lt;div&gt;\r 匹配一个回车符。等价于 \x0d 和 \cM。&lt;/div&gt;&lt;div&gt;\s 匹配任何空白字符，包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。&lt;/div&gt;&lt;div&gt;\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。&lt;/div&gt;&lt;div&gt;\t 匹配一个制表符。等价于 \x09 和 \cI。&lt;/div&gt;&lt;div&gt;\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。&lt;/div&gt;&lt;div&gt;\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。&lt;/div&gt;&lt;div&gt;\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。&lt;/div&gt;&lt;div&gt;\xn 匹配 n，其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。&lt;/div&gt;&lt;div&gt;\num 匹配 num，其中num是一个正整数。对所获取的匹配的引用。&lt;/div&gt;&lt;div&gt;\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式，则 n 为后向引用。否则，如果 n 为八进制数字 (0-7)，则 n 为一个八进制转义值。&lt;/div&gt;&lt;div&gt;\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式，则 nm 为后向引用。如果 \nm 之前至少有 n 个获取，则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足，若 n 和 m 均为八进制数字 (0-7)，则 \nm 将匹配八进制转义值 nm。&lt;/div&gt;&lt;div&gt;\nml 如果 n 为八进制数字 (0-3)，且 m 和 l 均为八进制数字 (0-7)，则匹配八进制转义值 nml。&lt;/div&gt;&lt;div&gt;\un 匹配 n，其中 n 是一个用四个十六进制数字表示的Unicode字符。&lt;/div&gt;&lt;div&gt;匹配中文字符的正则表达式： [u4e00-u9fa5]&lt;/div&gt;&lt;div&gt;匹配双字节字符(包括汉字在内)：[^x00-xff]&lt;/div&gt;&lt;div&gt;匹配空行的正则表达式：n[s| ]*r&lt;/div&gt;&lt;div&gt;匹配HTML标记的正则表达式：/&amp;lt;(.*)&amp;gt;.*&amp;lt;/1&amp;gt;|&amp;lt;(.*) /&amp;gt;/&lt;/div&gt;&lt;div&gt;匹配首尾空格的正则表达式：(^s*)|(s*$)&lt;/div&gt;&lt;div&gt;匹配Email地址的正则表达式：w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*&lt;/div&gt;&lt;div&gt;匹配网址URL的正则表达式：http://([w-]+.)+[w-]+(/[w- ./?%&amp;amp;=]*)?&lt;/div&gt;&lt;div&gt;利用正则表达式限制网页表单里的文本框输入内容：&lt;/div&gt;&lt;div&gt;用正则表达式限制只能输入中文：onkeyup=”value=value.replace(/[^u4E00-u9FA5]/g,”)” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^u4E00-u9FA5]/g,”))”&lt;/div&gt;&lt;div&gt;用正则表达式限制只能输入全角字符： onkeyup=”value=value.replace(/[^uFF00-uFFFF]/g,”)” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^uFF00-uFFFF]/g,”))”&lt;/div&gt;&lt;div&gt;用正则表达式限制只能输入数字：onkeyup=”value=value.replace(/[^d]/g,”) “onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”))”&lt;/div&gt;&lt;div&gt;用正则表达式限制只能输入数字和英文：onkeyup=”value=value.replace(/[W]/g,”) “onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”))”&lt;/div&gt;&lt;div&gt;=========常用正则表达式&lt;/div&gt;&lt;div&gt;匹配中文字符的正则表达式： [\u4e00-\u9fa5]&lt;/div&gt;&lt;div&gt;匹配双字节字符(包括汉字在内)：[^\x00-\xff]&lt;/div&gt;&lt;div&gt;匹配空行的正则表达式：\n[\s| ]*\r&lt;/div&gt;&lt;div&gt;匹配HTML标记的正则表达式：/&amp;lt;(.*)&amp;gt;.*&amp;lt;\/\1&amp;gt;|&amp;lt;(.*) \/&amp;gt;/&lt;/div&gt;&lt;div&gt;匹配首尾空格的正则表达式：(^\s*)|(\s*$)&lt;/div&gt;&lt;div&gt;匹配IP地址的正则表达式：/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //&lt;/div&gt;&lt;div&gt;匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&lt;/div&gt;&lt;div&gt;匹配网址URL的正则表达式：http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&amp;amp;=]*)?&lt;/div&gt;&lt;div&gt;sql语句：^(select|drop|delete|create|update|insert).*$&lt;/div&gt;&lt;div&gt;1、非负整数：^\d+$&lt;/div&gt;&lt;div&gt;2、正整数：^[0-9]*[1-9][0-9]*$&lt;/div&gt;&lt;div&gt;3、非正整数：^((-\d+)|(0+))$&lt;/div&gt;&lt;div&gt;4、负整数：^-[0-9]*[1-9][0-9]*$&lt;/div&gt;&lt;div&gt;5、整数：^-?\d+$&lt;/div&gt;&lt;div&gt;6、非负浮点数：^\d+(\.\d+)?$&lt;/div&gt;&lt;div&gt;7、正浮点数：^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)| ([0-9]*[1-9][0-9]*))$&lt;/div&gt;&lt;div&gt;8、非正浮点数：^((-\d+\.\d+)?)|(0+(\.0+)?))$&lt;/div&gt;&lt;div&gt;9、负浮点数：^(-((正浮点数正则式)))$&lt;/div&gt;&lt;div&gt;10、英文字符串：^[A-Za-z]+$&lt;/div&gt;&lt;div&gt;11、英文大写串：^[A-Z]+$&lt;/div&gt;&lt;div&gt;12、英文小写串：^[a-z]+$&lt;/div&gt;&lt;div&gt;13、英文字符数字串：^[A-Za-z0-9]+$&lt;/div&gt;&lt;div&gt;14、英数字加下划线串：^\w+$&lt;/div&gt;&lt;div&gt;15、E-mail地址：^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$&lt;/div&gt;&lt;div&gt;16、URL：^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$&lt;/div&gt;&lt;div&gt;或：^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&amp;amp;_~`@[\]\’:+!]*([^&amp;amp; amp; lt;&amp;gt;\&amp;quot;\&amp;quot;])*$&lt;/div&gt;&lt;div&gt;17、邮政编码：^[1-9]\d{5}$&lt;/div&gt;&lt;div&gt;18、中文：^[\u0391-\uFFE5]+$&lt;/div&gt;&lt;div&gt;19、电话号码：^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9] \d{6,7}(\-\d{1,4})?$&lt;/div&gt;&lt;div&gt;20、手机号码：^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$&lt;/div&gt;&lt;div&gt;21、双字节字符(包括汉字在内)：^\x00-\xff&lt;/div&gt;&lt;div&gt;22、匹配首尾空格：(^\s*)|(\s*$)（像vbscript那样的trim函数）&lt;/div&gt;&lt;div&gt;23、匹配HTML标记：&amp;lt;(.*)&amp;gt;.*&amp;lt;\/\1&amp;gt;|&amp;lt;(.*) \/&amp;gt;&lt;/div&gt;&lt;div&gt;24、匹配空行：\n[\s| ]*\r&lt;/div&gt;&lt;div&gt;25、提取信息中的网络链接：(h|H)(r|R)(e|E)(f|F) *= *(’|”)?(\w|\\|\/|\.)+(’|”| *|&amp;gt;)?&lt;/div&gt;&lt;div&gt;26、提取信息中的邮件地址：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&lt;/div&gt;&lt;div&gt;27、提取信息中的图片链接：(s|S)(r|R)(c|C) *= *(’|”)?(\w|\\|\/|\.)+(’|”| *|&amp;gt;)?&lt;/div&gt;&lt;div&gt;28、提取信息中的IP地址：(\d+)\.(\d+)\.(\d+)\.(\d+)&lt;/div&gt;&lt;div&gt;29、提取信息中的中国手机号码：(86)*0*13\d{9}&lt;/div&gt;&lt;div&gt;30、提取信息中的中国固定电话号码：(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}&lt;/div&gt;&lt;div&gt;31、提取信息中的中国电话号码（包括移动和固定电话）：(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}&lt;/div&gt;&lt;div&gt;32、提取信息中的中国邮政编码：[1-9]{1}(\d+){5}&lt;/div&gt;&lt;div&gt;33、提取信息中的浮点数（即小数）：(-?\d*)\.?\d+&lt;/div&gt;&lt;div&gt;34、提取信息中的任何数字 ：(-?\d*)(\.\d+)?&lt;/div&gt;&lt;div&gt;35、IP：(\d+)\.(\d+)\.(\d+)\.(\d+)&lt;/div&gt;&lt;div&gt;36、电话区号：/^0\d{2,3}$/&lt;/div&gt;&lt;div&gt;37、腾讯QQ号：^[1-9]*[1-9][0-9]*$&lt;/div&gt;&lt;div&gt;38、帐号(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$&lt;/div&gt;&lt;div&gt;39、中文、英文、数字及下划线：^[\u4e00-\u9fa5_a-zA-Z0-9]+$&lt;/div&gt;</description>
		<guid>http://www.rhl.name/Article/135.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/135/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/135.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/135/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/134.aspx</link>
		<title>phpwind让错误提示自定义跳转</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>网页</category>
		<pubDate>Wed, 01 Sep 2010 16:04:40 GMT</pubDate>
		<description>&lt;p&gt;思路：&lt;/p&gt;&lt;div&gt;比如我删除某板块，但那个板块又被收录了。权重很高。也不想让他提示就直接跳转到首页去。&lt;/div&gt;&lt;div&gt;原因：您要访问的链接无效,可能链接不完整,或数据已被删&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;动手操作：&lt;/div&gt;&lt;div&gt;找到&lt;/div&gt;&lt;div&gt;\template\wind\lan_msg.php&lt;/div&gt;&lt;div&gt;打开后找到你要跳转的提示。我是要跳转&lt;/div&gt;&lt;div&gt;原因：您要访问的链接无效,可能链接不完整,或数据已被删&lt;/div&gt;&lt;div&gt;那就在这段文字后添加以下代码&lt;/div&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;script&amp;nbsp;language=\&apos;JavaScript\&apos;&amp;gt;&amp;nbsp;self.location=\&apos;&amp;nbsp;index.php\&apos;;&amp;nbsp;&amp;lt;/script&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;完整代码&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&apos;原因：您要访问的链接无效,可能链接不完整,或数据已被删!&amp;lt;script&amp;nbsp;language=\&apos;JavaScript\&apos;&amp;gt;&amp;nbsp;self.location=\&apos;&amp;nbsp;http://www.xxx.com\index.php&apos;;&amp;nbsp;&amp;lt;/script&amp;gt;&apos;,&apos;&apos;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://www.rhl.name/Article/134.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/134/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/134.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/134/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/133.aspx</link>
		<title>js实现页面跳转的几种方式</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>网页</category>
		<pubDate>Wed, 01 Sep 2010 15:37:43 GMT</pubDate>
		<description>&lt;div&gt;第一种：&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;script language=&amp;quot;javascript&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; window.location.href=&amp;quot;login.jsp?backurl=&amp;quot;+window.location.href;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/script&amp;gt;&lt;/div&gt;&lt;div&gt;第二种：&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;alert(&amp;quot;返回&amp;quot;);&lt;/div&gt;&lt;div&gt;window.history.back(-1);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;/div&gt;&lt;div&gt;第三种：&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;window.navigate(&amp;quot;top.jsp&amp;quot;);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/script&amp;gt;&lt;/div&gt;&lt;div&gt;第四种：&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;lt;script language=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;self.location=&apos;top.htm&apos;;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;/div&gt;&lt;div&gt;第五种：&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alert(&amp;quot;非法访问！&amp;quot;);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;top.location=&apos;xx.jsp&apos;;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;/div&gt;</description>
		<guid>http://www.rhl.name/Article/133.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/133/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/133.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/133/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/132.aspx</link>
		<title>ASP技巧:一些常用的正则表达式大全</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>网页</category>
		<pubDate>Tue, 31 Aug 2010 04:55:03 GMT</pubDate>
		<description>&lt;p&gt;会常用到，收集一下。备用。&lt;/p&gt;&lt;p&gt;匹配中文字符的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;[\u4e00-\u9fa5]&lt;/p&gt;&lt;p&gt;评注：匹配中文还真是个头疼的事，有了这个表达式就好办了&lt;/p&gt;&lt;p&gt;匹配双字节字符(包括汉字在内)：&lt;br /&gt;程序代码&lt;br /&gt;[^\x00-\xff]&lt;/p&gt;&lt;p&gt;评注：可以用来计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）&lt;/p&gt;&lt;p&gt;匹配空白行的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;\n\s*\r&lt;/p&gt;&lt;p&gt;评注：可以用来删除空白行&lt;/p&gt;&lt;p&gt;匹配HTML标记的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;&amp;lt;(\S*?)[^&amp;gt;]*&amp;gt;.*?|&amp;lt;.*? /&amp;gt;&lt;/p&gt;&lt;p&gt;评注：网上流传的版本太糟糕，上面这个也仅仅能匹配部分，对于复杂的嵌套标记依旧无能为力&lt;/p&gt;&lt;p&gt;匹配首尾空白字符的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;^\s*|\s*$&lt;/p&gt;&lt;p&gt;评注：可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)，非常有用的表达式&lt;/p&gt;&lt;p&gt;匹配Email地址的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&lt;/p&gt;&lt;p&gt;评注：表单验证时很实用&lt;/p&gt;&lt;p&gt;匹配网址URL的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;[a-zA-z]+://[^\s]*&lt;/p&gt;&lt;p&gt;评注：网上流传的版本功能很有限，上面这个基本可以满足需求&lt;/p&gt;&lt;p&gt;&lt;br /&gt;匹配二级或多级域名的主域名&lt;br /&gt;([a-z0-9][a-z0-9\-]*?\.(?:com|cn|net|org|gov|info|la|cc|co)(?:\.(?:cn|jp))?)$&lt;/p&gt;&lt;p&gt;匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：&lt;br /&gt;程序代码&lt;br /&gt;^[a-zA-Z][a-zA-Z0-9_]{4,15}$&lt;/p&gt;&lt;p&gt;评注：表单验证时很实用&lt;/p&gt;&lt;p&gt;匹配国内电话号码：&lt;br /&gt;程序代码&lt;br /&gt;\d{3}-\d{8}|\d{4}-\d{7}&lt;/p&gt;&lt;p&gt;评注：匹配形式如 0511-4405222 或 021-87888822&lt;/p&gt;&lt;p&gt;匹配腾讯QQ号：&lt;br /&gt;程序代码&lt;br /&gt;[1-9][0-9]{4,}&lt;/p&gt;&lt;p&gt;评注：腾讯QQ号从10000开始&lt;/p&gt;&lt;p&gt;匹配中国邮政编码：&lt;br /&gt;程序代码&lt;br /&gt;[1-9]\d{5}(?!\d)&lt;/p&gt;&lt;p&gt;评注：中国邮政编码为6位数字&lt;/p&gt;&lt;p&gt;匹配身份证：&lt;br /&gt;程序代码&lt;br /&gt;\d{15}|\d{18}&lt;/p&gt;&lt;p&gt;评注：中国的身份证为15位或18位&lt;/p&gt;&lt;p&gt;匹配ip地址：&lt;br /&gt;程序代码&lt;br /&gt;\d+\.\d+\.\d+\.\d+&lt;/p&gt;&lt;p&gt;评注：提取ip地址时有用&lt;/p&gt;&lt;p&gt;匹配特定数字：&lt;/p&gt;&lt;p&gt;程序代码&lt;br /&gt;^[1-9]\d*$　 　 //匹配正整数&lt;br /&gt;^-[1-9]\d*$ 　 //匹配负整数&lt;br /&gt;^-?[1-9]\d*$　　 //匹配整数&lt;br /&gt;^[1-9]\d*|0$　 //匹配非负整数（正整数 + 0）&lt;br /&gt;^-[1-9]\d*|0$　　 //匹配非正整数（负整数 + 0）&lt;br /&gt;^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$　　 //匹配正浮点数&lt;br /&gt;^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$　 //匹配负浮点数&lt;br /&gt;^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$　 //匹配浮点数&lt;br /&gt;^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$　　 //匹配非负浮点数（正浮点数 + 0）&lt;br /&gt;^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$　　//匹配非正浮点数（负浮点数 + 0）&lt;/p&gt;&lt;p&gt;评注：处理大量数据时有用，具体应用时注意修正&lt;/p&gt;&lt;p&gt;匹配特定字符串：&lt;/p&gt;&lt;p&gt;程序代码&lt;br /&gt;^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串&lt;br /&gt;^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串&lt;br /&gt;^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串&lt;br /&gt;^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串&lt;br /&gt;^\w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串&lt;/p&gt;&lt;p&gt;&lt;br /&gt;在使用 RegularExpressionValidator 验证控件时的验证功能及其验证表达式介绍如下:&lt;/p&gt;&lt;p&gt;只能输入数字：&lt;br /&gt;程序代码&lt;br /&gt;^[0-9]*$&lt;/p&gt;&lt;p&gt;只能输入n位的数字：&lt;br /&gt;程序代码&lt;br /&gt;^\d{n}$&lt;/p&gt;&lt;p&gt;只能输入至少n位数字：&lt;br /&gt;程序代码&lt;br /&gt;^\d{n,}$&lt;/p&gt;&lt;p&gt;只能输入m-n位的数字：&lt;br /&gt;程序代码&lt;br /&gt;^\d{m,n}$&lt;/p&gt;&lt;p&gt;只能输入零和非零开头的数字：&lt;br /&gt;程序代码&lt;br /&gt;^(0|[1-9][0-9]*)$&lt;/p&gt;&lt;p&gt;只能输入有两位小数的正实数：&lt;br /&gt;程序代码&lt;br /&gt;^[0-9]+(.[0-9]{2})?$&lt;/p&gt;&lt;p&gt;只能输入有1-3位小数的正实数：&lt;br /&gt;程序代码&lt;br /&gt;^[0-9]+(.[0-9]{1,3})?$&lt;/p&gt;&lt;p&gt;只能输入非零的正整数：&lt;br /&gt;程序代码&lt;br /&gt;^\+?[1-9][0-9]*$&lt;/p&gt;&lt;p&gt;只能输入非零的负整数：&lt;br /&gt;程序代码&lt;br /&gt;^\-[1-9][0-9]*$&lt;/p&gt;&lt;p&gt;只能输入长度为3的字符：&lt;br /&gt;程序代码&lt;br /&gt;^.{3}$&lt;/p&gt;&lt;p&gt;只能输入由26个英文字母组成的字符串：&lt;br /&gt;程序代码&lt;br /&gt;^[A-Za-z]+$&lt;/p&gt;&lt;p&gt;只能输入由26个大写英文字母组成的字符串：&lt;br /&gt;程序代码&lt;br /&gt;^[A-Z]+$&lt;/p&gt;&lt;p&gt;只能输入由26个小写英文字母组成的字符串：&lt;br /&gt;程序代码&lt;br /&gt;^[a-z]+$&lt;/p&gt;&lt;p&gt;只能输入由数字和26个英文字母组成的字符串：&lt;br /&gt;程序代码&lt;br /&gt;^[A-Za-z0-9]+$&lt;/p&gt;&lt;p&gt;只能输入由数字、26个英文字母或者下划线组成的字符串：&lt;br /&gt;程序代码&lt;br /&gt;^\w+$&lt;/p&gt;&lt;p&gt;只能输入汉字：&lt;br /&gt;程序代码&lt;br /&gt;^[\u4e00-\u9fa5],{0,}$&lt;/p&gt;&lt;p&gt;验证用户密码：&lt;br /&gt;程序代码&lt;br /&gt;^[a-zA-Z]\w{5,17}$&lt;/p&gt;&lt;p&gt;正确格式为：以字母开头，长度在6-18之间，只能包含字符、数字和下划线。&lt;br /&gt;验证是否含有^%&amp;amp;&apos;,;=?$\等字符：&lt;br /&gt;程序代码&lt;br /&gt;[^%&amp;amp;&apos;,;=?$\x22]+&lt;/p&gt;&lt;p&gt;验证Email地址：&lt;br /&gt;程序代码&lt;br /&gt;^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$&lt;/p&gt;&lt;p&gt;验证InternetURL：&lt;br /&gt;程序代码&lt;br /&gt;^http://([\w-]+\.)+[\w-]+(/[\w-./?%&amp;amp;=]*)?$&lt;/p&gt;&lt;p&gt;验证电话号码：&lt;br /&gt;程序代码&lt;br /&gt;^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$&lt;/p&gt;&lt;p&gt;正确格式为：XXXX-XXXXXXX，XXXX-XXXXXXXX，XXX-XXXXXXX， XXX-XXXXXXXX，XXXXXXX，XXXXXXXX&lt;br /&gt;验证身份证号（15位或18位数字）：&lt;br /&gt;程序代码&lt;br /&gt;^\d{15}|\d{}18$&lt;/p&gt;&lt;p&gt;验证一年的12个月：&lt;br /&gt;程序代码&lt;br /&gt;^(0?[1-9]|1[0-2])$&lt;/p&gt;&lt;p&gt;正确格式为：01-09和112&lt;br /&gt;验证一个月的31天：&lt;br /&gt;程序代码&lt;br /&gt;^((0?[1-9])|((1|2)[0-9])|30|31)$&lt;/p&gt;&lt;p&gt;正确格式为：0109和131&lt;/p&gt;&lt;p&gt;-----------------------常用的匹配正则表达式和实例--------------------------------&lt;/p&gt;&lt;p&gt;匹配中文字符的正则表达式： &lt;br /&gt;程序代码&lt;br /&gt;[\u4e00-\u9fa5]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;匹配双字节字符(包括汉字在内)：&lt;br /&gt;程序代码&lt;br /&gt;[^\x00-\xff]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;应用：计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）&lt;/p&gt;&lt;p&gt;&lt;br /&gt;程序代码&lt;br /&gt;String.prototype.len=function(){return this.replace([^\x00-\xff]/g,&amp;quot;aa&amp;quot;).length;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;匹配空行的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;\n[\s| ]*\r&lt;/p&gt;&lt;p&gt;&lt;br /&gt;匹配HTML标记的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;/&amp;lt;(.*)&amp;gt;.*&amp;lt;\/\1&amp;gt;|&amp;lt;(.*) \/&amp;gt;/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;匹配首尾空格的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;(^\s*)|(\s*$)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;应用：javascript中没有像vbscript那样的trim函数，我们就可以利用这个表达式来实现，如下：&lt;/p&gt;&lt;p&gt;&lt;br /&gt;程序代码&lt;br /&gt;String.prototype.trim = function()&lt;br /&gt;{&lt;br /&gt;return this.replace(/(^\s*)|(\s*$)/g, &amp;quot;&amp;quot;);&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;利用正则表达式分解和转换IP地址：&lt;/p&gt;&lt;p&gt;下面是利用正则表达式匹配IP地址，并将IP地址转换成对应数值的Javascript程序：&lt;/p&gt;&lt;p&gt;&lt;br /&gt;程序代码&lt;br /&gt;function IP2V(ip)&lt;br /&gt;{&lt;br /&gt;re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式&lt;br /&gt;if(re.test(ip))&lt;br /&gt;{&lt;br /&gt;return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;throw new Error(&amp;quot;Not a valid IP address!&amp;quot;)&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;不过上面的程序如果不用正则表达式，而直接用split函数来分解可能更简单，程序如下：&lt;br /&gt;http://bizhi.knowsky.com/&lt;/p&gt;&lt;p&gt;程序代码&lt;br /&gt;var ip=&amp;quot;10.100.20.168&amp;quot;&lt;br /&gt;ip=ip.split(&amp;quot;.&amp;quot;)&lt;br /&gt;alert(&amp;quot;IP值是：&amp;quot;+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))&lt;/p&gt;&lt;p&gt;&lt;br /&gt;匹配Email地址的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&lt;/p&gt;&lt;p&gt;&lt;br /&gt;匹配网址URL的正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;http://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;amp;=]*)?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;匹配区号、分机号的固定电话正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;/^((0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;手机号码前面以1开头，第二位现在是3或者5，后面是9位数字，则：&lt;br /&gt;程序代码&lt;br /&gt;/^1[35]\d{9}$/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;更强悍的固定电话号码正则表达式：&lt;br /&gt;程序代码&lt;br /&gt;(^(\d{2,4}[-_－—]?)?\d{3,8}([-_－—]?\d{3,8})?([-_－—]?\d{1,7})?$)|(^0?1[35]\d{9}$)&lt;/p&gt;&lt;p&gt;该表达式可以验证那些不小心把连接符“-”写出“－”的或者下划线“_”的等等。&lt;/p&gt;&lt;p&gt;利用正则表达式去除字串中重复的字符的算法程序：[注：此程序不正确，原因见本贴回复]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;程序代码&lt;br /&gt;var s=&amp;quot;abacabefgeeii&amp;quot;&lt;br /&gt;var s1=s.replace(/(.).*\1/g,&amp;quot;$1&amp;quot;)&lt;br /&gt;var re=new RegExp(&amp;quot;[&amp;quot;+s1+&amp;quot;]&amp;quot;,&amp;quot;g&amp;quot;)&lt;br /&gt;var s2=s.replace(re,&amp;quot;&amp;quot;)&lt;br /&gt;alert(s1+s2) //结果为：abcefgi&lt;/p&gt;&lt;p&gt;&lt;br /&gt;我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法，最终没有找到，这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符，再以重复的字符建立第二个表达式，取到不重复的字符，两者串连。这个方法对于字符顺序有要求的字符串可能不适用。&lt;/p&gt;&lt;p&gt;得用正则表达式从URL地址中提取文件名的javascript程序，如下结果为page1&lt;/p&gt;&lt;p&gt;&lt;br /&gt;程序代码&lt;br /&gt;s=&amp;quot;http://www.9499.net/page1.htm&amp;quot;&lt;br /&gt;s=s.replace(/(.*\/){0,}([^\.]+).*/ig,&amp;quot;$2&amp;quot;)&lt;br /&gt;alert(s)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;利用正则表达式限制网页表单里的文本框输入内容：&lt;/p&gt;&lt;p&gt;用正则表达式限制只能输入中文：&lt;br /&gt;程序代码&lt;br /&gt;onkeyup=&amp;quot;value=value.replace(/[^\u4E00-\u9FA5]/g,)&amp;quot; onbeforepaste=&amp;quot;clipboardData.setData(text,clipboardData.getData(text).replace(/[^\u4E00-\u9FA5]/g,))&amp;quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;用正则表达式限制只能输入全角字符： &lt;br /&gt;程序代码&lt;br /&gt;onkeyup=&amp;quot;value=value.replace(/[^\uFF00-\uFFFF]/g,)&amp;quot; onbeforepaste=&amp;quot;clipboardData.setData(text,clipboardData.getData(text).replace(/[^\uFF00-\uFFFF]/g,))&amp;quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;用正则表达式限制只能输入数字：&lt;br /&gt;程序代码&lt;br /&gt;onkeyup=&amp;quot;value=value.replace(/[^\d]/g,) &amp;quot;onbeforepaste=&amp;quot;clipboardData.setData(text,clipboardData.getData(text).replace(/[^\d]/g,))&amp;quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;用正则表达式限制只能输入数字和英文：&lt;br /&gt;程序代码&lt;br /&gt;onkeyup=&amp;quot;value=value.replace(/[\W]/g,) &amp;quot;onbeforepaste=&amp;quot;clipboardData.setData(text,clipboardData.getData(text).replace(/[^\d]/g,))&amp;quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;程序代码&lt;br /&gt;^\d+$　　//匹配非负整数（正整数 + 0）&lt;br /&gt;^[0-9]*[1-9][0-9]*$　　//匹配正整数&lt;br /&gt;^((-\d+)|(0+))$　　//匹配非正整数（负整数 + 0）&lt;br /&gt;^-[0-9]*[1-9][0-9]*$　　//匹配负整数&lt;br /&gt;^-?\d+$　　　　//匹配整数&lt;br /&gt;^\d+(\.\d+)?$　　//匹配非负浮点数（正浮点数 + 0）&lt;br /&gt;^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$　　//匹配正浮点数&lt;br /&gt;^((-\d+(\.\d+)?)|(0+(\.0+)?))$　　//匹配非正浮点数（负浮点数 + 0）&lt;br /&gt;^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$　　//匹配负浮点数&lt;br /&gt;^(-?\d+)(\.\d+)?$　　//匹配浮点数&lt;br /&gt;^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串&lt;br /&gt;^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串&lt;br /&gt;^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串&lt;br /&gt;^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串&lt;br /&gt;^\w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串&lt;br /&gt;^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$　　　　//匹配email地址&lt;br /&gt;^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$　　//匹配url&lt;/p&gt;&lt;p&gt;&lt;br /&gt;------------------------------------&lt;br /&gt;利用正则表达式去除字串中重复的字符的算法程序：&lt;/p&gt;&lt;p&gt;&lt;br /&gt;程序代码&lt;br /&gt;var s=&amp;quot;abacabefgeeii&amp;quot;&lt;br /&gt;var s1=s.replace(/(.).*\1/g,&amp;quot;$1&amp;quot;)&lt;br /&gt;var re=new RegExp(&amp;quot;[&amp;quot;+s1+&amp;quot;]&amp;quot;,&amp;quot;g&amp;quot;)&lt;br /&gt;var s2=s.replace(re,&amp;quot;&amp;quot;)&lt;br /&gt;alert(s1+s2) //结果为：abcefgi&lt;/p&gt;&lt;p&gt;===============================&lt;br /&gt;如果var s = &amp;quot;abacabefggeeii&amp;quot;&lt;br /&gt;结果就不对了，结果为：abeicfgg&lt;br /&gt;正则表达式的能力有限&lt;br /&gt;----------------------------------------------------------&lt;/p&gt;&lt;p&gt;程序代码&lt;br /&gt;Function Extension(url As String) As String&lt;br /&gt;Dim r As New Regex(&amp;quot;^(?&amp;lt;proto&amp;gt;\w+)://[^/]+?(?&amp;lt;port&amp;gt;:\d+)?/&amp;quot;, _&lt;br /&gt;RegexOptions.Compiled)&lt;br /&gt;Return r.Match(url).Result(&amp;quot;${proto}${port}&amp;quot;)&lt;br /&gt;End Function&lt;/p&gt;&lt;p&gt;&lt;br /&gt;20090701更新：&lt;/p&gt;&lt;p&gt;超强悍的IP地址验证正则表达式：&lt;/p&gt;&lt;p&gt;程序代码&lt;br /&gt;^(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])$&lt;/p&gt;&lt;p&gt;&lt;br /&gt;支持n级域名判断的正则表达式：&lt;/p&gt;&lt;p&gt;程序代码&lt;br /&gt;^(([^-][a-z0-9A-Z-_]+\.)*)[^-][a-z0-9A-Z-_]+(\.[a-zA-Z]{2,4}){1,2}$&lt;/p&gt;&lt;p&gt;&lt;br /&gt;二级域名正则表达式 分析+分割 URL的正则表达式：&lt;/p&gt;&lt;p&gt;程序代码&lt;br /&gt;(\w+:\/\/)?([^\.]+)(\.[^/:]+)(:\d*)?([^# ]*)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;第一个附加子表达式（$1）是用来捕获该 web 地址的协议部分。该子表达式匹配位于包括一个冒号和两个正斜杠之前的任何单词。&lt;br /&gt;第二个附加子表达式（$2）捕获该地址的二级域名地址。该子表达式匹配不包括 &apos;.&apos; 字符的任何字符序列。&lt;br /&gt;第三个附加子表达式（$3）捕获该地址的域名地址。该子表达式匹配不包括 &apos;/&apos; 或 &apos;:&apos; 字符的任何字符序列。&lt;br /&gt;第四个附加子表达式（$4）捕获网站端口号码，如果指定了该端口号。该子表达式匹配后跟一个冒号的零或多个数字。&lt;br /&gt;第五个附加子表达式（$5）捕获由该 web 地址指定的路径以及\或者页面信息。该子表达式匹配一个和多个除&apos;#&apos; 或空格之外的字符。&lt;/p&gt;&lt;p&gt;将该正则表达式应用于http://www.dlstu.cn:80/code/default.asp?id=1056所示的URI 后，子匹配包含如下内容：&lt;br /&gt;RegExp.$0 包含 &amp;quot;http://www.dlstu.cn:80/code/default.asp?id=1056&amp;quot;&lt;br /&gt;RegExp.$1 包含 &amp;quot;http://&amp;quot;&lt;br /&gt;RegExp.$2 包含 &amp;quot;www&amp;quot;&lt;br /&gt;RegExp.$3 包含 &amp;quot;.dlstu.cn&amp;quot;&lt;br /&gt;RegExp.$4 包含 &amp;quot;:80&amp;quot;&lt;br /&gt;RegExp.$5 包含 &amp;quot;/code/default.asp?id=1056&amp;quot;&lt;/p&gt;&lt;p&gt;超强悍的URL网址验证正则表达式，几乎可以匹配目前所有的常见网址协议，可以扩充更多以支持其他下载协议等：&lt;/p&gt;&lt;p&gt;程序代码&lt;br /&gt;^((https|http|ftp|rtsp|mms)?://)?(([0-9a-z_!~*&apos;().&amp;amp;=+$%-]+: )?[0-9a-zA-Z_!~*&apos;().&amp;amp;=+$%-]+@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*&apos;()-]+\.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-z]\.[a-zA-Z]{2,6})(:[0-9]{1,4})?((/?)|(/[0-9a-zA-Z_!~*&apos;().;?:@&amp;amp;=+$,%#-]+)+/?)$&lt;/p&gt;</description>
		<guid>http://www.rhl.name/Article/132.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/132/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/132.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/132/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/131.aspx</link>
		<title>403重定向规则</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>技术</category>
		<pubDate>Mon, 30 Aug 2010 07:33:12 GMT</pubDate>
		<description>&lt;p&gt;&amp;nbsp;原理：&lt;/p&gt;&lt;p&gt;把访问xxx.com/&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Consolas, &apos;Courier New&apos;, Courier, mono, serif; line-height: 14px; white-space: pre; &quot;&gt;thread-fid-123.html 转到bbs&lt;/span&gt;xxx.com/&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Consolas, &apos;Courier New&apos;, Courier, mono, serif; line-height: 14px; white-space: pre; &quot;&gt;thread-fid-123.html&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;RewriteCond&amp;nbsp;Host:&amp;nbsp;^aaa\.com$&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;RewriteRule&amp;nbsp;(.*)&amp;nbsp;http://bbs.aaa.com$1&amp;nbsp;[I,R]&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;PHP代码&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;$the_host&amp;nbsp;=&amp;nbsp;$_SERVER[&apos;HTTP_HOST&apos;];&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$request_uri&amp;nbsp;=&amp;nbsp;isset($_SERVER[&apos;REQUEST_URI&apos;])&amp;nbsp;?&amp;nbsp;$_SERVER[&apos;REQUEST_URI&apos;]&amp;nbsp;:&amp;nbsp;&apos;&apos;;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;if($the_host&amp;nbsp;!=&amp;nbsp;&apos;xxx.com&apos;)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;if($request_uri&amp;nbsp;==&amp;nbsp;&apos;/index.php&apos;){&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;header(&apos;HTTP/1.1&amp;nbsp;301&amp;nbsp;Moved&amp;nbsp;Permanently&apos;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;header(&apos;Location:http://xxx.com&apos;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;}else{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;header(&apos;HTTP/1.1&amp;nbsp;301&amp;nbsp;Moved&amp;nbsp;Permanently&apos;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;header(&apos;Location:http://xxx.com&apos;.$request_uri);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://www.rhl.name/Article/131.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/131/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/131.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/131/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/130.aspx</link>
		<title>使asp源代码换行的换行符vbCr、vbCrLf、vbLf、vbTab</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>网页</category>
		<pubDate>Wed, 25 Aug 2010 20:15:27 GMT</pubDate>
		<description>&lt;p&gt;&lt;font face=&quot;Verdana&quot;&gt;查看源代码换行符：vbcrlf&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Verdana&quot;&gt;参考：&lt;br /&gt;&lt;/font&gt;&lt;font face=&quot;Verdana&quot;&gt;常数　　　　值　　　　　　　　　描述&lt;br /&gt;vbCr　　　　Chr(13)　　　　　　回车符。&lt;br /&gt;vbCrLf　　　Chr(13)&amp;amp;Chr(10)　　回车符与换行符。&lt;br /&gt;vbLf　　　　Chr(10)　　　　　　换行符。&lt;br /&gt;vbTab 　　　Chr(9)　　　　　　　水平附签。&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Verdana&quot;&gt;测试以下代码&lt;br /&gt;&amp;lt;%&lt;br /&gt;response.Write(&amp;quot;你好&amp;lt;br /&amp;gt;&amp;quot;)&lt;br /&gt;response.Write(&amp;quot;你好&amp;lt;br /&amp;gt;&amp;quot;)&lt;br /&gt;%&amp;gt;&lt;br /&gt;打开执行后的源代码，代码效果是&lt;br /&gt;你好&amp;lt;br /&amp;gt;你好&amp;lt;br /&amp;gt;。&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Verdana&quot;&gt;再测试下面的代码&lt;br /&gt;&amp;lt;%&lt;br /&gt;response.Write(&amp;quot;你好&amp;lt;br /&amp;gt;&amp;quot;)&lt;br /&gt;response.Write(vbCrLf&amp;amp;&amp;quot;你好&amp;lt;br /&amp;gt;&amp;quot;&amp;amp;vbCrLf)&lt;br /&gt;response.Write(&amp;quot;你好&amp;lt;br /&amp;gt;&amp;quot;&amp;amp;vbLf)&lt;br /&gt;response.Write(vbTab&amp;amp;&amp;quot;你好&amp;lt;br /&amp;gt;&amp;quot;&amp;amp;vbCf)&lt;br /&gt;response.Write(&amp;quot;你好&amp;lt;br /&amp;gt;&amp;quot;&amp;amp;vbLf)&lt;br /&gt;%&amp;gt;&lt;br /&gt;打开执行后的源代码，看看代码效果，这里就不写出来了。从中可以看出vbCr、vbCrLf、vbLf、vbTab的作用。&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Verdana&quot;&gt;代码上面的解释是从网上找到的，但从测试代码中看到的结果好像vbCr、vbCrLf、vbLf作用都一样，都只换行了。&lt;br /&gt;只有vbTab真正是描述的功能&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face=&quot;Verdana&quot;&gt;注意：一定要打开执行后的源代码看&lt;/font&gt;&lt;/p&gt;</description>
		<guid>http://www.rhl.name/Article/130.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/130/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/130.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/130/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/129.aspx</link>
		<title>微软kb967723 补丁导致mysql连接失败或停止</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>技术</category>
		<pubDate>Wed, 25 Aug 2010 08:24:04 GMT</pubDate>
		<description>&lt;p&gt;&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, Arial, Tahoma; font-size: 14px; color: rgb(51, 51, 51); line-height: 26px; &quot;&gt;这几天有一台&lt;u style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;MySQL&lt;/u&gt;数据库服务器频繁出现掉线，经排查，并没有哪个网站受攻击，网上搜索了一下，很多人都碰到这问题，全是Windows系统上安装MySQL，原因是前段时间微软发布的补丁KB967723而导致的。现在有两种解决方法：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;第一种：卸载KB967723补丁&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;&lt;/strong&gt;登录服务器，进入控制面板 — 添加和删除程序 — （勾选上方的“显示更新”）在里面可以看到更新的KB967723这个补丁，然后就想卸载普通软件一样卸载，卸载中会提示你，如果卸载可能导致程序运行出错，没关系，选择“是”，继续卸载。卸载完成后重启数据库服务器。&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;&lt;strong style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;第二种：修改注册表&lt;/strong&gt;&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;本方法是微软给出的修改注册表修复该Bug的的方法，原因是默认最大的临时 TCP 端口的数是 5000 适用于一节中包含的产品中。 在这些产品中添加一个新参数。 要提高临时端口的上限，请按照下列步骤操作：&lt;/p&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 0px; padding-bottom: 5px; padding-left: 0px; text-indent: 2em; &quot;&gt;开始 → 运行 → 输入regedit → 启动注册表编辑器。&amp;nbsp;&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;在注册表中找到以下子项，然后单击 参数 ：&amp;nbsp;&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;在 编辑 菜单上单击 新建，然后添加下面的注册表项：&amp;nbsp;&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;数值名称： MaxUserPort&amp;nbsp;&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;值类型: DWORD&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;值数据： 65534&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;有效范围： 5000-65534 (十进制)&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;默认值： 0x1388 (5000 十进制)&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;说明： 此参数将控制程序从系统请求任何可用的用户端口时使用的最大端口数。 通常，1024 的值和包含的 5000 之间分配临时的 （短) 端口。&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;退出注册表编辑器，并重新启动计算机。&amp;nbsp;&lt;br style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot; /&gt;微软原文链接：http://support.microsoft.com/kb/q196271&lt;/p&gt;</description>
		<guid>http://www.rhl.name/Article/129.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/129/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/129.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/129/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://www.rhl.name/Article/128.aspx</link>
		<title>IIS6 为应用程序池 &apos;**&apos; 提供服务的进程意外终止。进程退出代码是 &apos;0xc0000005&apos;。</title>
		<author>rhl88@vip.qq.com(holley)</author>
		<category>技术</category>
		<pubDate>Tue, 24 Aug 2010 11:45:19 GMT</pubDate>
		<description>&lt;p&gt;&amp;nbsp;为应用程序池 &apos;**&apos; 提供服务的进程意外终止。进程退出代码是 &apos;0xc0000005&apos;。描述:&lt;/p&gt;&lt;div&gt;为应用程序池 &apos;PrimaSharedAppPool006&apos; 提供服务的进程意外终止。进程 ID 是 &apos;3232&apos;。进程退出代码是 &apos;0xc0000005&apos;。原因：&lt;/div&gt;&lt;div&gt;独立进程的 内存堆戋消耗完了，IIS不能创建更多的进程工作空间来处理&lt;/div&gt;&lt;div&gt;解决方法：&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;警告：&lt;/b&gt;需要修改服务器的注册表，请修改前备份相关键值&lt;/div&gt;&lt;div&gt;1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC&amp;nbsp;&lt;/div&gt;&lt;div&gt;2. 在Parameters键下新建一个DWORD项，名字为：UseSharedWPDesktop 值为1 重启IIS&lt;/div&gt;&lt;div&gt;MS关于此键值描述：&lt;/div&gt;&lt;div&gt;UseSharedWPDesktop&amp;nbsp;&lt;/div&gt;&lt;div&gt;注册表路径：HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters&lt;/div&gt;&lt;div&gt;数据类型：REG_DWORD&lt;/div&gt;&lt;div&gt;默认值： 0&lt;/div&gt;&lt;div&gt;范围： 0 - 1&lt;/div&gt;&lt;div&gt;如果您正使用唯一标识设置应用程序池，那么根据服务器上的应用程序和内存资源，将会达到大约 60 个应用程序池的上限。某些分配了单个新登录会话的系统资源存在一定的限制。这表明可以有 60 个进程以不同的帐户同时运行。IIS 6.0 支持在单个共享的工作站和桌面中运行这些进程，所需的成本为在所有各方之间共享单个用户会话的单个封装。要扩展到 60 个应用程序池以上并共享单个桌面，可将 UseSharedWPDesktop 更改为 DWORD 值 1。更改此注册表项之后，应当可以扩展到上百个应用程序池已及上百个同时运行的工作进程。&lt;/div&gt;</description>
		<guid>http://www.rhl.name/Article/128.aspx</guid>
		<trackback:ping>http://www.rhl.name/Article/128/Trackback.ashx</trackback:ping>
		<comments>http://www.rhl.name/Article/128.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://www.rhl.name/Article/128/Feeds.ashx</wfw:commentRss>
	</item>
</channel>
</rss>