﻿<?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-ZeroLine</title><link>http://www.blogjava.net/zeroline/</link><description>All things are difficult before they are easy.</description><language>zh-cn</language><lastBuildDate>Mon, 06 Apr 2026 03:28:55 GMT</lastBuildDate><pubDate>Mon, 06 Apr 2026 03:28:55 GMT</pubDate><ttl>60</ttl><item><title>JAVA代码验证身份证信息</title><link>http://www.blogjava.net/zeroline/archive/2011/01/03/342227.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Mon, 03 Jan 2011 12:56:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2011/01/03/342227.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/342227.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2011/01/03/342227.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/342227.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/342227.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->&nbsp;&nbsp;&nbsp;1.&nbsp;/***********************************&nbsp;身份证验证开始&nbsp;***************...&nbsp;&nbsp;<a href='http://www.blogjava.net/zeroline/archive/2011/01/03/342227.html'>阅读全文</a><img src ="http://www.blogjava.net/zeroline/aggbug/342227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2011-01-03 20:56 <a href="http://www.blogjava.net/zeroline/archive/2011/01/03/342227.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Servlet生成验证码图片2</title><link>http://www.blogjava.net/zeroline/archive/2011/01/03/342226.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Mon, 03 Jan 2011 12:51:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2011/01/03/342226.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/342226.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2011/01/03/342226.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/342226.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/342226.html</trackback:ping><description><![CDATA[<span style="font-family: Courier;">
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.awt.Color;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.awt.Font;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.awt.Graphics;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.awt.image.BufferedImage;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.io.IOException;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.io.OutputStream;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.io.PrintWriter;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.util.Random;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.imageio.ImageIO;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.ServletException;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.http.HttpServlet;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.http.HttpServletRequest;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.http.HttpServletResponse;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.sun.image.codec.jpeg.JPEGCodec;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.sun.image.codec.jpeg.JPEGImageEncoder;<br />
<br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Image&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;HttpServlet&nbsp;{<br />
&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;doGet(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />
&nbsp;&nbsp;response.setContentType(</span><span style="color: #000000;">"</span><span style="color: #000000;">image/jpeg</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;OutputStream&nbsp;out&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;response.getOutputStream();<br />
&nbsp;&nbsp;response.setHeader(</span><span style="color: #000000;">"</span><span style="color: #000000;">Pragma</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">No-cache</span><span style="color: #000000;">"</span><span style="color: #000000;">);&nbsp;<br />
&nbsp;&nbsp;response.setHeader(</span><span style="color: #000000;">"</span><span style="color: #000000;">Cache-Control</span><span style="color: #000000;">"</span><span style="color: #000000;">,</span><span style="color: #000000;">"</span><span style="color: #000000;">no-cache</span><span style="color: #000000;">"</span><span style="color: #000000;">);&nbsp;<br />
&nbsp;&nbsp;response.setDateHeader(</span><span style="color: #000000;">"</span><span style="color: #000000;">Expires</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;width&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">60</span><span style="color: #000000;">,&nbsp;height&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;BufferedImage&nbsp;image&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;BufferedImage(width,&nbsp;height,<br />
&nbsp;&nbsp;&nbsp;&nbsp;BufferedImage.TYPE_INT_RGB);<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;获取图形上下文</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;image.getGraphics();<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;生成随机类</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;Random&nbsp;random&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Random();<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;设定背景色</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;g.setColor(getRandColor(</span><span style="color: #000000;">200</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">250</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;g.fillRect(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;width,&nbsp;height);<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;设定字体</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;g.setFont(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Font(</span><span style="color: #000000;">"</span><span style="color: #000000;">Times&nbsp;New&nbsp;Roman</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;Font.PLAIN,&nbsp;</span><span style="color: #000000;">18</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;随机产生155条干扰线，使图象中的认证码不易被其它程序探测到</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;g.setColor(getRandColor(</span><span style="color: #000000;">180</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">200</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">155</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;random.nextInt(width);<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;y&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;random.nextInt(height);<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;xl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;random.nextInt(</span><span style="color: #000000;">12</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;yl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;random.nextInt(</span><span style="color: #000000;">12</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;g.drawLine(x,&nbsp;y,&nbsp;x&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;xl,&nbsp;y&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;yl);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;取随机产生的认证码(4位数字)</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;String&nbsp;sRand&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">setRandValue(request);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(sRand</span><span style="color: #000000;">!=</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;sRand.length();&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;g.setColor(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Color(</span><span style="color: #000000;">20</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;random.nextInt(</span><span style="color: #000000;">200</span><span style="color: #000000;">),&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;random<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.nextInt(</span><span style="color: #000000;">200</span><span style="color: #000000;">),&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;random.nextInt(</span><span style="color: #000000;">200</span><span style="color: #000000;">)));<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;调用函数出来的颜色相同，可能是因为种子太接近，所以只能直接生成</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;g.drawString(sRand.charAt(i)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">13</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">16</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;JPEGImageEncoder&nbsp;encoder&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;JPEGCodec.createJPEGEncoder(out);<br />
&nbsp;&nbsp;encoder.encode(image);<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;图象生效</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;g.dispose();<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;输出图象到页面<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;ImageIO.write(image,&nbsp;"JPG",&nbsp;response.getOutputStream());</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;out.flush();<br />
&nbsp;&nbsp;out.close();<br />
&nbsp;}<br />
<br />
&nbsp;Color&nbsp;getRandColor(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;fc,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;bc)&nbsp;{</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;给定范围获得随机颜色</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;Random&nbsp;random&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Random();<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(fc&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">255</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;fc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">255</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(bc&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">255</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;bc&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">255</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;r&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;fc&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;random.nextInt(bc&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;fc);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;fc&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;random.nextInt(bc&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;fc);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;fc&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;random.nextInt(bc&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;fc);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Color(r,&nbsp;g,&nbsp;b);<br />
&nbsp;}<br />
&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">48-57对应0-9;65-90对应A-Z;97-122对应a-z;</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;String&nbsp;setRandValue(HttpServletRequest&nbsp;request)&nbsp;{<br />
&nbsp;&nbsp;Random&nbsp;random&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Random();<br />
&nbsp;&nbsp;String&nbsp;sRand&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">这里是生成验证码的位数</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;c&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;k&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;random.nextInt(</span><span style="color: #000000;">3</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">switch</span><span style="color: #000000;">&nbsp;(k)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">:<br />
&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">char</span><span style="color: #000000;">)&nbsp;(random.nextInt(</span><span style="color: #000000;">10</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">48</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">:<br />
&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">char</span><span style="color: #000000;">)&nbsp;(random.nextInt(</span><span style="color: #000000;">26</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">65</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">case</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">:<br />
&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">char</span><span style="color: #000000;">)&nbsp;(random.nextInt(</span><span style="color: #000000;">26</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">97</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;sRand&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;c;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;request.getSession().setAttribute(</span><span style="color: #000000;">"</span><span style="color: #000000;">rands</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;sRand);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;sRand;<br />
&nbsp;}<br />
}</span></div>
</span>
<img src ="http://www.blogjava.net/zeroline/aggbug/342226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2011-01-03 20:51 <a href="http://www.blogjava.net/zeroline/archive/2011/01/03/342226.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang.IllegalArgumentException: Resources cannot be null.</title><link>http://www.blogjava.net/zeroline/archive/2011/01/03/342224.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Mon, 03 Jan 2011 12:33:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2011/01/03/342224.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/342224.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2011/01/03/342224.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/342224.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/342224.html</trackback:ping><description><![CDATA[java.lang.IllegalArgumentException: Resources cannot be null.<span style="font-size: 10pt;"><span style="font-size: 12pt;"><span style="font-family: Courier;"><br />
<pre>	org.apache.commons.validator.Validator.&lt;init&gt;(Validator.java:188)<br />
org.apache.struts.validator.Resources.initValidator(Resources.java:475)<br />
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:104)<br />
org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:950)<br />
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207)<br />
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)<br />
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)<br />
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)<br />
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br />
<br />
使用Struts1，自己动手验证表单数据时，出现了如上的这个错误&#8220;java.lang.IllegalArgumentException: Resources cannot be null.<span style="font-size: 10pt;"><span style="font-size: 12pt;"><span style="font-family: Courier;"><br />
<br />
</span></span></span>&#8221;。<br />
这是因为在某个需要验证的 form 里，没有对validate()方法进行复写。<br />
</pre>
<p><strong><br />
</strong><u></u></p>
</span></span></span>
<img src ="http://www.blogjava.net/zeroline/aggbug/342224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2011-01-03 20:33 <a href="http://www.blogjava.net/zeroline/archive/2011/01/03/342224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript 触发事件列表 </title><link>http://www.blogjava.net/zeroline/archive/2010/12/19/341087.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Sun, 19 Dec 2010 02:31:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2010/12/19/341087.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/341087.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2010/12/19/341087.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/341087.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/341087.html</trackback:ping><description><![CDATA[<div class="postbody" style="font-family: Courier">1.单击事件___onclick<br />
用户单击鼠标按键时产生的事件.同时onclick指定的事件处理程序或代码将被调用执行.<br />
如:&lt;input type="button" value="打开页面" onlick="window.open('xxxx.html','newwindow','width=456,height=230,toolbar=no,menubar=no,scrollbars=yes');"&gt;<br />
&nbsp;<br />
2.改变事件___onchange<br />
当text或textarea元素内的字符值改变或select表格选项状态改变里发生该事件.<br />
如;&lt;textarea name="liuyan" rows=5 cols=70 value=" " onchange=alert("您在文本框中添加了新的内容")&gt;<br />
&nbsp;<br />
3.选中事件____onselect<br />
当text或textarea对象中的文字被选中里会引发该事件<br />
如:&lt;ipnut type="text" value="默认信息" onselect=alert("您选中了文本框中的文字")&gt;<br />
&nbsp;<br />
4.获得焦点事件____onfocus<br />
用户单击text或textarea以及select对象时,即光标落在文本框或选择框时会产生该事件.<br />
如:&lt;select name="zhengjian" onfocus="alert("我成为焦点")&gt;<br />
&nbsp;<br />
5.失去焦点事件______onblur<br />
失去焦点事件正好与获得焦点事件相对,当text对象,textarea对象或select对象不再拥有焦点而退出后台时,引发该事件.<br />
&nbsp;<br />
6.载入文件事件____onload<br />
当页面文件载入时,产生该事件.onload的一个作用就是在首次载入一个页面文件时检测cookie的值,并用一个变量为其赋值,使它可以被源代码使用,本事件是window的事件,但是在HTML中指定事件处理程序时,一般把它写在&lt;body&gt;标记中.<br />
如:&lt;body onload=alert("正在加载页面,请等待...")&gt;<br />
&nbsp;<br />
7.卸载文件事件____onunload<br />
与载入文件事件onload正好相反,当web页面退出时引发的事件,并可更新cookie的状态<br />
如:&lt;body onunload="confirm("你确定要离开本页?")&gt;<br />
&nbsp;<br />
8.鼠标覆盖事件 _____onmouseover<br />
onmouseover是当鼠标位于元素上方时所引发的事件<br />
如:&lt;input type="boutton" value="按钮" onmouseover="window.status='请您注意下面的状态栏'; return true"&gt;<br />
&nbsp;<br />
9.鼠标离开事件_____onmouseout<br />
onmouseout是鼠标离开元素里引发的事件.如果和鼠标覆盖事件同时使用,可以创建动态按钮的效果.<br />
&nbsp;<br />
10.一般事件<br />
ondbclick&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 鼠标双击事件<br />
鼠标上的按键被按下时激活的事件<br />
鼠标按下后,松开鼠标时触发的事件<br />
鼠标移动里触发的事件.<br />
onkeypress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当键盘上的某个键被按下并且释放时触发的事件,要求页面内必须有激活对象<br />
onkeydown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当键盘上某个键被按下时触发的事件,要求页面内必须有激活对象<br />
onkeyup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当键盘上某个按键被放开时触发的事件,要求页面内必须有激活对象<br />
&nbsp;<br />
11.页面相关事件<br />
onabort&nbsp;&nbsp; 图片在下载时被用户中断<br />
onbeforeunload&nbsp;&nbsp; 当前页面的内容将要被改变时触发的事件<br />
onerror&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 捕捉当前页面因为某种原因而出现的错误,如脚本错误.<br />
onmove&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 浏览器的窗口被移动里触发的事件<br />
onresize&nbsp;&nbsp;&nbsp;&nbsp; 当浏览器的大小被改变时触发的事件<br />
onscroll&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 浏览器的滚动条位置发生变化时触发的事件<br />
onstop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 浏览器的"停止"按钮被按下或者正在下载的文件被中断时触发的事件.<br />
&nbsp;<br />
12. 表单相关事件<br />
onreset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当表单中reset属性被激活时触发的事件.<br />
onsubmit&nbsp; 一个表单被递交时触发的事件.<br />
&nbsp;<br />
13.滚动字幕事件<br />
onbounce&nbsp;&nbsp;&nbsp; 当marquee内的内容移动至marquee显示范围之外时触发的事件.<br />
onfinish&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当marquee元素完成需要显示的内容后触发的事件.<br />
onstart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当marquee元素开始显示内容时触发的事件.<br />
&nbsp;<br />
14.编辑事件.<br />
onbeforecopy&nbsp;&nbsp;&nbsp; 当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发的事件.<br />
onbeforeupdate&nbsp; 当浏览者粘贴系统剪贴板中的内容时通知目标对象<br />
oncontextmenu&nbsp;&nbsp; 当按下鼠标右键出现菜单或通过键盘的按键触发页面菜单时触发的事件.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;body oncontentmenu="return false"&gt;禁止使用鼠标右键<br />
oncopy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当页面当前被选择内容被复制后触发的事件<br />
oncut&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当页面当前被选择内容被剪切时触发的事件<br />
onpaste&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当内容被粘贴时触发的事件<br />
ondrag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当某个对象被拖动时触发的事件<br />
ondragend&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当鼠标拖动结束时触发的事件,即鼠标的按键被释放时触发的事件.<br />
&nbsp;<br />
15.数据绑定<br />
onafterupdate&nbsp;&nbsp;&nbsp; 当数据完成由数据源到对象的传送时触发的事件<br />
oncellchange&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当数据来源发生变化时触发的事件<br />
ondataavailable&nbsp; 当数据接收完成时触发的事件<br />
ondatasetchanged&nbsp;&nbsp; 数据在数据源发生变化时触发的事件.<br />
ondatasetcomplete&nbsp;&nbsp; 当数据源的全部有效数据读取完毕时触发的事件.<br />
onerrorupdate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当使用onbeforeupdate事件触发取消了数据传送时,代替onafterupdate事件.<br />
onrowenter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前数据源的数据发生变化并且有新的有效数据时触发的事件.<br />
onrowexit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前数据源的数据将要发生变化时触发的事件<br />
onrowsdelete&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前数据记录将被删除时触发的事件<br />
onrowsinserted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前数据源将要插入新数据记录时触发的事件<br />
&nbsp;<br />
16.外部事件<br />
onafterprint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当文档被打印后触发的事件<br />
onbeforeprint&nbsp;&nbsp; 当文档即将打印时触发的事件<br />
onhelp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当浏览者按下F1键或者单击浏览器中的"帮助"按钮时触发的事件 </div>
<script type="text/javascript"><!-- google_ad_client="pub-1076724771190722" ;
/* JE个人博客468x60 */ google_ad_slot="5506163105" ; google_ad_width="468;
google_ad_height" = 60;
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script><script src="http://pagead2.googlesyndication.com/pagead/js/r20101117/r20101214/show_ads_impl.js"></script><script src="http://pagead2.googlesyndication.com/pagead/expansion_embed.js"></script><script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script><script src="http://pagead2.googlesyndication.com/pagead/render_ads.js"></script><script>google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);</script>
<img src ="http://www.blogjava.net/zeroline/aggbug/341087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2010-12-19 10:31 <a href="http://www.blogjava.net/zeroline/archive/2010/12/19/341087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>15款js编辑器大全 收藏</title><link>http://www.blogjava.net/zeroline/archive/2010/12/19/341084.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Sun, 19 Dec 2010 01:44:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2010/12/19/341084.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/341084.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2010/12/19/341084.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/341084.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/341084.html</trackback:ping><description><![CDATA[<table style="table-layout: fixed; width: 100%">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text">
            <p>看了一下,感觉不错,先收藏一下.以后说不定有用.</p>
            <div class="post">
            <ol>
                <li><font size="2">非常实用的163邮箱编辑器  </font><font color="#0000ff" size="2"><strong></strong><font color="#000000"> </font><a href="http://bbs.80nian.net/attachment.php?aid=21&amp;k=2b89910b46f7b157e86b635a41a3b3f5&amp;t=1212304753" target="_blank" mce_href="http://bbs.80nian.net/attachment.php?aid=21&amp;k=2b89910b46f7b157e86b635a41a3b3f5&amp;t=1212304753"><strong><font color="#0000ff" size="2">new163Editor.rar</font><img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.38/t.gif"  alt="" /></strong><img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a><font size="2"><font color="#000000"> (395.12 KB) </font><br />
                </font></font>
                <li><font size="2">2 <font color="#810081">soEditor v 2.5 lite</font> </font>
                <p><font size="2">官方: </font><font color="#0000ff" size="2"><a href="http://www.siteobjects.com/pages/index.cfm">http://www.siteobjects.com/pages/index.cfm<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">下载: </font><font color="#0000ff" size="2"><a href="http://www.siteobjects.com/pages/order.cfm">http://www.siteobjects.com/pages/order.cfm<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">可 以下载的是lite版, 目前还没找到pro版的. 可以支持ASP,Coldfusion,ASP.NET. 界面做的很整洁,但没有文件管理,最大的问题是对于直接从其他处复制来的图片不会做自动修正.当然这个也仁者见仁了. soEditor 2.5 is an extremely powerful browser-based WYSIWYG content authoring tool </font></p>
                <p><font size="2">designed specifically for dynamic web applications. This customizable editor allows </font></p>
                <p><font size="2">developers to make it possible for anyone to create, edit and maintain web content </font></p>
                <p><font size="2">without the need for HTML knowledge or programming expertise. </font></p>
                <li>
                <p><font size="2"><font color="#810081">AreaEdit V 0.4.2</font> 演示: </font><font color="#0000ff" size="2"><a href="http://www.formvista.com/uploaded_html/demos/areaedit/examples/simple_example.php">http://www.formvista.com/uploaded_html/demos/areaedit/examples/simple_example.php<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">下载: </font><font color="#0000ff" size="2"><a href="http://www.formvista.com/goalTracker/stream_download.php/14/areaedit_0.4.3.tar.gz">http://www.formvista.com/goalTracker/stream_download.php/14/areaedit_0.4.3.tar.gz<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">支持: </font><font color="#0000ff" size="2"><a href="http://www.formvista.com/forum">http://www.formvista.com/forum<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">修 改htmlarea的编辑器增加了图片文件管理器 htmlarea 作为在线编辑器领域的开源作品享有不错的知名度有很多的支持者和插件开发者,这些都得益于html良好的扩展性. AreaEdit is a formVista compatible fork of the rapidly developing Xinha project. </font></p>
                <p><font size="2">It is the code that is generated by the formVista FVML &lt;htmleditor&gt; tag during rendering. Xinha itself is a fork of the original HTMLArea component created by Mihai Bazon and </font></p>
                <p><font size="2">sponsored by Interactivetools. AreaEdit maintains the original HTMLArea (modified BSD) </font></p>
                <p><font size="2">license and is free to use. While it is designed to work within formVista without modification, AreaEdit does not </font></p>
                <p><font size="2">requre formVista. It is a fully functional editor component supporting a number of </font></p>
                <p><font size="2">plugins and can as easily be used as a standalone editor component for any PHP web </font></p>
                <p><font size="2">application. The primary difference between AreaEdit and Xinha is one of focus. The Xinha project </font></p>
                <p><font size="2">aims to be a rapidly developing feature-filled editor with many plugins. By contrast, AreaEdit takes a slower minimalists approach. It aims first and foremost </font></p>
                <p><font size="2">to be functional and maintainable. The feature set we are focusing on is targeted </font></p>
                <p><font size="2">squarely at the serious non-technical business user. Business users don&amp;apos;t care </font></p>
                <p><font size="2">about the nuances of HTML &lt;br&gt; and &lt;p&gt; tags, they just want the editor to work as </font></p>
                <p><font size="2">they would expect. If your audience is primarly composed to developers or those familar with HTML, you</font></p>
                <p><font size="2">should take a look at Xinha. AreaEdit is known to work with MSIE 5.5 or later and any modern Gecko based </font></p>
                <p><font size="2">browsers. (FireFox, Mozilla).</font></p>
                <li>
                <p><font size="2"><font color="#810081">DevEdit Version 5.0.1 破解版</font> 官方网站: </font><font color="#0000ff" size="2"><a href="http://www.interspire.com/">http://www.interspire.com<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">演示: </font><font color="#0000ff" size="2"><a href="http://www.interspire.com/devedit/demo.php">http://www.interspire.com/devedit/demo.php<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">下载: </font><font color="#0000ff" size="2"><a href="http://bbs.80nian.net/thread-259-1-1.html?acdt=/devedit.rar">http://bbs.80nian.net/thread-259-1-1.html?acdt=/devedit.rar<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2"><font color="#a52a2a">警告: 本程序是商业程序,仅供网友研究学习,请在下载后24小时内删除. 对于由此产生的法律问题本站概不负责</font> </font></p>
                <li>
                <p><font size="2"><font color="#a52a2a"><font color="#0000ff">Web Wiz Rich Text Editor v3.0</font><font color="#000000"> </font></font>下载: </font><font color="#0000ff" size="2"><a href="http://www.webwizguide.info/asp/sample_scripts/RTE_application.asp">http://www.webwizguide.info/asp/sample_scripts/RTE_application.asp<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">演示: </font><font color="#0000ff" size="2"><a href="http://www.richtexteditor.org/demo/">http://www.richtexteditor.org/demo/<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">支持在线文件管理,跨浏览器,但对表格编辑功能不强,界面不够精致 6</font></p>
                <li>
                <p><font size="2"><font color="#810081">KTML.Pro.v3.5.6-SPK100</font> 下载: </font><font color="#0000ff" size="2"><a href="http://bbs.80nian.net/thread-259-1-1.html?acdt=/KTML_PRO-3.5.6.ZIP">http://bbs.80nian.net/thread-259-1-1.html?acdt=/KTML_PRO-3.5.6.ZIP<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2"><font color="#a52a2a">警告: 本程序是商业程序,仅供网友研究学习,请在下载后24小时内删除. 对于由此产生的法律问题概不负责.</font> 有着类似dw一样的属性栏,这个是pro版,提供了lite版没有的对表格的属性编辑等功能,</font></p>
                <p><font size="2">有兴趣的可以去官方看看lite版. </font></p>
                <li>
                <p><font size="2"><font color="#0000ff">TextArea Rich v3.0</font> 下载: </font><font color="#0000ff" size="2"><a href="http://bbs.80nian.net/thread-259-1-1.html?acdt=/textarea.rich.v3.0.rar">http://bbs.80nian.net/thread-259-1-1.html?acdt=/textarea.rich.v3.0.rar<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">做的很干净的编辑器,适合于CMS.功能强大. </font></p>
                <li>
                <p><font size="2"><strong>Tabula WYSIWYG HTML editor ver. 2.2</strong> 演示: </font><font color="#0000ff" size="2"><a href="http://www.tabula.biz/showArticle.asp?articleid=253">http://www.tabula.biz/showArticle.asp?articleid=253<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">下载: </font><font color="#0000ff" size="2"><a href="http://www.tabula.biz/ShowArticle.asp?MID=5&amp;ArticleID=257">http://www.tabula.biz/ShowArticle.asp?MID=5&amp;ArticleID=257<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">和ewebsoft很像的编辑器右键功能强悍,界面做的稍稍差了点点：） </font></p>
                <li>
                <p><font size="2"><strong>TinyMCE 2.0RC3</strong> 官方网站: </font><font color="#0000ff" size="2"><a href="http://tinymce.moxiecode.com/">http://tinymce.moxiecode.com/<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">官方演示: </font><font color="#0000ff" size="2"><a href="http://tinymce.moxiecode.com/example_full.php?example=true">http://tinymce.moxiecode.com/example_full.php?example=true<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">下载: </font><font color="#0000ff" size="2"><a href="http://keihanna.dl.sourceforge.net/sourceforge/tinymce/tinymce_2_0RC3.zip">http://keihanna.dl.sourceforge.net/sourceforge/tinymce/tinymce_2_0RC3.zip<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">有一个很好的开源编辑器,界面,功能和可扩展性做的都很好 </font></p>
                <li>
                <p><font size="2"><strong>网页在线编辑器 mEditor ASP 中文版 v2.0</strong> 下载: </font><font color="#0000ff" size="2"><a href="http://bbs.80nian.net/thread-259-1-1.html?acdt=/meditor.zip">http://bbs.80nian.net/thread-259-1-1.html?acdt=/meditor.zip<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">运 行环境支持: 操作系统支持: Windows 2000 系列 / Window Xp 系列 / Window 2003 系列网络服务器支持: Asp 版本要求安装IIS 5.0版本或更高版本 浏览器支持: 正常运行在IE5.5以上版本,部分特殊功能要求IE版本升级到6.0以才能使用 &gt;&gt;&gt; 在网络服务器设置完成后,运行index.asp进行样式管理. &gt;&gt;&gt; 建议将mEditor放在项目的根目录. 注意事项 有关无组件上传类 v2.0 升级事项 1.修正内核部分字符编码的问题. 2.增强系统运行的健壮性与稳定性. 3.增加了"模式按钮"栏式管理,可随意启用/取消模式按钮. 4.在编辑器的样式上进行了整体的修改. 5.增加了编辑器的缩放功能,仅适用于IE5.5以上版本. 6.增加了"搜索替换"功能(快捷键CTRL+R),仅适用于IE5.5以上版本. 7.将部分功能移植到"代码模式"使用,如:"全选","删除","复制"..... 8.增加快捷键CTRL+1(预览模式),CTRL+2(代码模式),CTRL+3(视图模式),CTRL+R(查找替换). </font></p>
                <li>
                <p><font size="2"></font><font size="2"><strong>EWELive JScript Editor 0.4 6</strong> 下载:&nbsp;&nbsp;</font><font color="#0000ff" size="2"><a href="http://www.ewelive.com/downloads/0_64_JS.zip">http://www.ewelive.com/downloads/0_64_JS.zip<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">我曾经仔细的去汉化过这个版本的编辑器,加了一些自己的界面设计和按钮. 速度很快,功能简单使用,容易修改. 对于喜欢简单一族的朋友可以下来看看. 官方: </font><font color="#0000ff" size="2"><a href="http://www.ewelive.com/">http://www.ewelive.com<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> <font size="2">演示: </font><font color="#0000ff" size="2"><a href="http://www.ewelive.com/demo_js/sample.php">http://www.ewelive.com/demo_js/sample.php<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font></p>
                <li>
                <p><font size="2"><strong>InnovaStudio WYSIWYG Editor v2.3</strong> <font color="#a52a2a">警告: 本程序是商业程序,仅供网友研究学习,请在下载后24小时内删除. 对于由此产生的法律问题概不负责.</font> 界面做的很是精细, 功能极强大,非常优秀之作,强烈推荐下载 </font><font color="#0000ff" size="2"><a href="http://www225.fixdown.com/code/sp-iwe23.rar">http://www225.fixdown.com/code/sp-iwe23.rar<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font> </p>
                <li>
                <p><font size="2"><strong>CuteEditor for ASP Enterprise License</strong> <font color="#a52a2a">警告: 本程序是商业程序,仅供网友研究学习,请在下载后24小时内删除. 对于由此产生的法律问题概不负责.</font> Cuteditor 我曾研究过,不亏为成熟的商业作品,各方面做的都很规范,功能强大,也提供简体中文语言包,</font></p>
                <p><font size="2">个人非常喜欢.强烈推荐 </font><a href="http://bbs.80nian.net/thread-259-1-1.html?acdt=/CuteEditor_for_ASP_Enterprise_License.rar" target="_blank" mce_href="http://bbs.80nian.net/thread-259-1-1.html?acdt=/CuteEditor_for_ASP_Enterprise_License.rar"><img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a><font color="#0000ff" size="2">下载: </font><font color="#0000ff" size="2"><a href="http://bbs.80nian.net/thread-259-1-1.html?acdt=/CuteEditor_for_ASP_Enterprise_License.rar">http://bbs.80nian.net/thread-259-1-1.html?acdt=/CuteEditor_for_ASP_Enterprise_License.rar<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font></p>
                <li>
                <p><strong><font size="2">FCKeditor 2.6 精简版第三版新增表格功能 </font><font color="#810081" size="2"><a href="http://bbs.80nian.net/viewthread.php?tid=158&amp;highlight=FC">http://bbs.80nian.net/viewthread.php?tid=158&amp;highlight=FC<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></font></strong></p>
                </li>
            </ol>
            </div>
            <div class="feedbackCon">15 加一个新浪编辑器,不为别的,漂亮 <a href="http://test.tstring.com.cn/sinaeditor/editor.htm">http://test.tstring.com.cn/sinaeditor/editor.htm<img class="snap_preview_icon" src="http://i.ixnp.com/images/v3.41/t.gif"  alt="" /></a></div>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<br />
 <img src ="http://www.blogjava.net/zeroline/aggbug/341084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2010-12-19 09:44 <a href="http://www.blogjava.net/zeroline/archive/2010/12/19/341084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>到了找工作的时候，才知道 本科 与 专科 的区别</title><link>http://www.blogjava.net/zeroline/archive/2010/11/29/339329.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Mon, 29 Nov 2010 08:18:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2010/11/29/339329.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/339329.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2010/11/29/339329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/339329.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/339329.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 11-25号，一个在苏州的朋友跟几个同学（一共三人）去一家园区里的**公司参加笔试应聘程序员的职位，招聘信息上没有写限制条件，只是在技术上作了一些要求。
<p>&nbsp;&nbsp;&nbsp; 当这几个朋友兴冲冲的找了两个小时找到了**公司（他们对那边的环境不太熟悉）后，直接笔试，当天参加笔试的就他们三个人，笔试之前没有作自我介绍。</p>
<p>&nbsp;&nbsp;&nbsp; 当**公司的HR把笔试的试题发下来后，随口问了一句：&#8220;你们哪个学校毕业的？&#8221;</p>
<p>&nbsp;&nbsp;&nbsp; 他们实话实说：&#8221;连云港****学院&#8220;（大专）</p>
<p>&nbsp;&nbsp;&nbsp; 哪知那个HR直接说：&#8221;我们不招大专生。&#8220;随即就把试题收了上去.......</p>
<p>&nbsp;&nbsp;&nbsp; 我知道之后很是无语，只好安慰他。记着他，三五年之后，当这个人到你公司应聘的时候，把他招进去，好好整他。</p>
<p>&nbsp;&nbsp;&nbsp;
到了找工作的时候，才知道本科与大专的区别。或许有很多人会说，学历不重要，只要有能力。但是现在的这个社会，像这样的不留任何情面的公司不在少数。不要
整天的抱怨自己的学校多么的不好，她终归还是个本科，最起码我们也能跟别的学校本科毕业生一样，挺起胸膛走进本科生专场招聘会。</p>
<p>&nbsp;&nbsp;&nbsp; 然而进去之后呢？剩下的就靠我们自己了！</p>
 <img src ="http://www.blogjava.net/zeroline/aggbug/339329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2010-11-29 16:18 <a href="http://www.blogjava.net/zeroline/archive/2010/11/29/339329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory</title><link>http://www.blogjava.net/zeroline/archive/2010/11/21/338622.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Sun, 21 Nov 2010 10:55:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2010/11/21/338622.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/338622.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2010/11/21/338622.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/338622.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/338622.html</trackback:ping><description><![CDATA[<span style="font-family: Courier;">
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">问题描述：学习&nbsp;Hibernate持久化技术时，使用hibernate</span><span style="color: #000000;">-</span><span style="color: #000000;">annotations</span><span style="color: #000000;">-</span><span style="color: #000000;">3.4</span><span style="color: #000000;">.</span><span style="color: #000000;">0</span><span style="color: #000000;">.GA版本做实验，做好了程序和配置文件后，运行程序出现 </span><span style="color: #000000;">java.lang.IllegalAccessError:&nbsp;tried&nbsp;to&nbsp;access&nbsp;field&nbsp;org.slf4j.impl.StaticLoggerBinder.SINGLETON&nbsp;from&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;org.slf4j.LoggerFactory错误。<br />
<br />
问题原因：jar文件版本冲突<br />
<br />
类&nbsp;org.slf4j.impl.StaticLoggerBinder在slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">api&nbsp;中是类的公有静态变量:<br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;StaticLoggerBinder&nbsp;SINGLETON&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;StaticLoggerBinder();<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">以上是在网络上找的答案，也有很多人试过的，但是我遇到这个问题时，使用的Hibernate是3.6的，这种方法不适合。<br />
后来我将&nbsp;hibernate</span><span style="color: #000000;">-</span><span style="color: #000000;">jpa</span><span style="color: #000000;">-</span><span style="color: #000000;">2.0</span><span style="color: #000000;">-</span><span style="color: #000000;">api</span><span style="color: #000000;">-</span><span style="color: #000000;">1.0</span><span style="color: #000000;">.</span><span style="color: #000000;">0</span><span style="color: #000000;">.Final.jar&nbsp;包也加了进来之后，程序就好了。具体原因还在纠结<img src="http://www.blogjava.net/Images/dot.gif" alt="" />.</span></div>
<br />
而在slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">log4j12（slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">nop.jar,&nbsp;slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">simple.jar,&nbsp;slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">log4j12.jar,&nbsp;slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">jdk14.jar&nbsp;or&nbsp;logback</span><span style="color: #000000;">-</span><span style="color: #000000;">classic.jar其中之一）中确是私有变量:<br />
</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;StaticLoggerBinder&nbsp;SINGLETON&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;StaticLoggerBinder();<br />
<br />
解决方案：</span><span style="color: #000000;">1</span><span style="color: #000000;">.修改slf的源代码，将这个变量有私有改为公有，再打包，问题可解决。<br />
<br />
&nbsp;&nbsp;&nbsp; </span><span style="color: #000000;">2</span><span style="color: #000000;">.在类路径先将slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">api.jar&nbsp;删除，再导入同版本的slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">api</span><span style="color: #000000;">-</span><span style="color: #000000;">1.5</span><span style="color: #000000;">.</span><span style="color: #000000;">6</span><span style="color: #000000;">.jar&nbsp;和slf4j</span><span style="color: #000000;">-</span><span style="color: #000000;">log4j12</span><span style="color: #000000;">-</span><span style="color: #000000;">1.5</span><span style="color: #000000;">.</span><span style="color: #000000;">6</span><span style="color: #000000;">.jar&nbsp;，问题可解决。</span></div>
我遇到这个问题时用的是Hibernate3.6，是将hibernate-jpa-2.0-api-1.0.0.Final.jar包加进去才解决了的。相同问题的朋友试试。
</span>
<img src ="http://www.blogjava.net/zeroline/aggbug/338622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2010-11-21 18:55 <a href="http://www.blogjava.net/zeroline/archive/2010/11/21/338622.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Servlet生成验证码图片</title><link>http://www.blogjava.net/zeroline/archive/2010/11/21/338597.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Sun, 21 Nov 2010 04:46:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2010/11/21/338597.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/338597.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2010/11/21/338597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/338597.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/338597.html</trackback:ping><description><![CDATA[<span style="font-family: Courier;">
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.awt.Color;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.awt.Graphics;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.awt.image.BufferedImage;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.io.IOException;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.io.OutputStream;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;java.util.Random;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.ServletException;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.http.HttpServlet;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.http.HttpServletRequest;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javax.servlet.http.HttpServletResponse;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.sun.image.codec.jpeg.JPEGCodec;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;com.sun.image.codec.jpeg.JPEGImageEncoder;<br />
<br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;ImageServlet&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;HttpServlet&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;service(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">throws</span><span style="color: #000000;">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;设置响应类型</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType(</span><span style="color: #000000;">"</span><span style="color: #000000;">image/jpeg</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;图片的内存映像</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedImage&nbsp;image&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;BufferedImage(</span><span style="color: #000000;">50</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">,BufferedImage.TYPE_INT_RGB);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;获得画笔对象</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random&nbsp;r&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Random();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics&nbsp;g&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;image.getGraphics();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Color(r.nextInt(</span><span style="color: #000000;">255</span><span style="color: #000000;">),&nbsp;r.nextInt(</span><span style="color: #000000;">255</span><span style="color: #000000;">),&nbsp;r.nextInt(</span><span style="color: #000000;">255</span><span style="color: #000000;">)));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillRect(</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">50</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Color(</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;number&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;String.valueOf(r.nextInt(</span><span style="color: #000000;">99999</span><span style="color: #000000;">));&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawString(number,&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">15</span><span style="color: #000000;">);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;压缩成jpeg格式</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream&nbsp;os&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;response.getOutputStream();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JPEGImageEncoder&nbsp;encoder&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;JPEGCodec.createJPEGEncoder(os);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;把BufferedImage对象中的图像信息编码后<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;向创建该对象(encoder)时指定的输出流输出</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;encoder.encode(image);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
}<br />
</span></div>
</span>
<img src ="http://www.blogjava.net/zeroline/aggbug/338597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2010-11-21 12:46 <a href="http://www.blogjava.net/zeroline/archive/2010/11/21/338597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用MD5进行加密</title><link>http://www.blogjava.net/zeroline/archive/2010/11/21/338596.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Sun, 21 Nov 2010 04:43:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2010/11/21/338596.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/338596.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2010/11/21/338596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/338596.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/338596.html</trackback:ping><description><![CDATA[<span style="font-family: Courier;">
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;"><strong>加密</strong>：<br />
getEncodeStr(String&nbsp;str)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">确定计算算法</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;MessageDigest&nbsp;md5&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;MessageDigest.getInstance(</span><span style="color: #000000;">"</span><span style="color: #000000;">md5</span><span style="color: #000000;">"</span><span style="color: #000000;">)&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;BASE64Encoder&nbsp;base64en&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;BASE64Encoder()&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">加密后的字符串</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;base64en.encode(md5.digest(str.getBytes(</span><span style="color: #000000;">"</span><span style="color: #000000;">utf-8</span><span style="color: #000000;">"</span><span style="color: #000000;">)))&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;string&nbsp;;<br />
}<br />
<br />
<br />
<strong>验证密码是否一致</strong>：<br />
<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(getEncodeStr(newPassword).equals(oldPassword)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">&nbsp;;<br />
}</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">&nbsp;;<br />
}<br />
</span></div>
</span>
<img src ="http://www.blogjava.net/zeroline/aggbug/338596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2010-11-21 12:43 <a href="http://www.blogjava.net/zeroline/archive/2010/11/21/338596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典 JavaScript 正则表达式</title><link>http://www.blogjava.net/zeroline/archive/2010/11/17/338312.html</link><dc:creator>zeroline</dc:creator><author>zeroline</author><pubDate>Wed, 17 Nov 2010 13:49:00 GMT</pubDate><guid>http://www.blogjava.net/zeroline/archive/2010/11/17/338312.html</guid><wfw:comment>http://www.blogjava.net/zeroline/comments/338312.html</wfw:comment><comments>http://www.blogjava.net/zeroline/archive/2010/11/17/338312.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zeroline/comments/commentRss/338312.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zeroline/services/trackbacks/338312.html</trackback:ping><description><![CDATA[<p style="font-family: Courier"><span style="font-family: Courier">正则表达式用于字符串处理，表单验证等场合，实用高效，但用到时总是不太把握，以致往往要上网查一番。我将一些常用的表达式收藏在这里，作备忘之用。</span></p>
<p><span style="font-family: Courier">匹配中文字符的正则表达式：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: olive">[</span><span style="color: gray">\</span><span style="color: blue">u4e00</span><span style="color: gray">-\</span><span style="color: blue">u9fa5</span><span style="color: olive">]</span></span></div>
</div>
<p><span style="font-family: Courier">匹配双字节字符(包括汉字在内)：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: olive">[</span><span style="color: gray">^\</span><span style="color: blue">x00</span><span style="color: gray">-\</span><span style="color: blue">xff</span><span style="color: olive">]</span></span></div>
</div>
<p><span style="font-family: Courier">应用：计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: teal">String</span><span style="color: gray">.</span><span style="color: blue">prototype</span><span style="color: gray">.</span><span style="color: blue">len</span><span style="color: gray">=</span><span style="color: green">function</span><span style="color: olive">(){</span><span style="color: gray"> </span><span style="color: green">return</span><span style="color: gray"> </span><span style="color: green">this</span><span style="color: gray">.</span><span style="color: blue">replace</span><span style="color: olive">([</span><span style="color: gray">^\</span><span style="color: blue">x00</span><span style="color: gray">-\</span><span style="color: blue">xff</span><span style="color: olive">]</span><span style="color: #8b0000">/</span><span style="color: red">g,"aa").length; }</span></span></div>
</div>
<p><span style="font-family: Courier">匹配空行的正则表达式：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">\</span><span style="color: blue">n</span><span style="color: olive">[</span><span style="color: gray">\</span><span style="color: blue">s</span><span style="color: gray">|</span><span style="color: olive">]</span><span style="color: gray">*\</span><span style="color: blue">r</span></span></div>
</div>
<p><span style="font-family: Courier">匹配HTML标记的正则表达式：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: #8b0000">/</span><span style="color: red">&lt;(.*)&gt;.*&lt;</span><span style="color: navy">\/</span><span style="color: red">\1&gt;|&lt;(.*) </span><span style="color: navy">\/</span><span style="color: red">&gt;</span><span style="color: #8b0000">/</span></span></div>
</div>
<p><span style="font-family: Courier">匹配首尾空格的正则表达式：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: olive">(</span><span style="color: gray">^\</span><span style="color: blue">s</span><span style="color: gray">*</span><span style="color: olive">)</span><span style="color: gray">|</span><span style="color: olive">(</span><span style="color: gray">\</span><span style="color: blue">s</span><span style="color: gray">*$</span><span style="color: olive">)</span></span></div>
</div>
<p><span style="font-family: Courier">应用：j avascript中没有像v bscript那样的trim函数，我们就可以利用这个表达式来实现，如下：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: teal">String</span><span style="color: gray">.</span><span style="color: blue">prototype</span><span style="color: gray">.</span><span style="color: blue">trim</span><span style="color: gray"> = </span><span style="color: green">function</span><span style="color: olive">()</span></span><span style="color: gray"><br />
</span><span style="color: olive"><span style="font-family: Courier">{</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="font-family: Courier"><span style="color: green">return</span><span style="color: gray"> </span><span style="color: green">this</span><span style="color: gray">.</span><span style="color: blue">replace</span><span style="color: olive">(</span><span style="color: #8b0000">/</span><span style="color: red">(^\s*)|(\s*$)</span><span style="color: #8b0000">/g</span><span style="color: gray">, </span><span style="color: #8b0000">""</span><span style="color: olive">)</span></span><span style="font-family: Courier"><span style="color: gray">;<br />
</span><span style="color: olive">}</span></span></div>
</div>
<p><span style="font-family: Courier">利用正则表达式分解和转换IP地址<br />
下面是利用正则表达式匹配IP地址，并将IP地址转换成对应数值的Javascript程序：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: green">function</span><span style="color: gray"> </span><span style="color: blue">IP2V</span><span style="color: olive">(</span><span style="color: blue">ip</span><span style="color: olive">)</span></span><span style="color: gray"><br />
</span><span style="color: olive"><span style="font-family: Courier">{</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="font-family: Courier"><span style="color: blue">re</span><span style="color: gray">=</span><span style="color: #8b0000">/</span><span style="color: red">(\d+)\.(\d+)\.(\d+)\.(\d+)</span><span style="color: #8b0000">/g</span><span style="color: gray">&nbsp; </span><span style="color: #ffa500">//匹配IP地址的正则表达式</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="font-family: Courier"><span style="color: green">if</span><span style="color: olive">(</span><span style="color: blue">re</span><span style="color: gray">.</span><span style="color: blue">test</span><span style="color: olive">(</span><span style="color: blue">ip</span><span style="color: olive">))</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="color: olive"><span style="font-family: Courier">{</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span></span><span style="font-family: Courier"><span style="color: green">return</span><span style="color: gray"> </span><span style="color: teal">RegExp</span><span style="color: gray">.$</span><span style="color: maroon">1</span><span style="color: gray">*</span><span style="color: teal">Math</span><span style="color: gray">.</span><span style="color: blue">pow</span><span style="color: olive">(</span><span style="color: maroon">255</span><span style="color: gray">,</span><span style="color: maroon">3</span><span style="color: olive">)</span><span style="color: gray">)+</span><span style="color: teal">RegExp</span><span style="color: gray">.$</span><span style="color: maroon">2</span><span style="color: gray">*</span><span style="color: teal">Math</span><span style="color: gray">.</span><span style="color: blue">pow</span><span style="color: olive">(</span><span style="color: maroon">255</span><span style="color: gray">,</span><span style="color: maroon">2</span><span style="color: olive">)</span><span style="color: gray">)+</span><span style="color: teal">RegExp</span><span style="color: gray">.$</span><span style="color: maroon">3</span><span style="color: gray">*</span><span style="color: maroon">255</span><span style="color: gray">+</span><span style="color: teal">RegExp</span><span style="color: gray">.$</span><span style="color: maroon">4</span><span style="color: gray">*</span><span style="color: maroon">1</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="color: olive"><span style="font-family: Courier">}</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="color: green"><span style="font-family: Courier">else</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="color: olive"><span style="font-family: Courier">{</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span></span><span style="font-family: Courier"><span style="color: green">throw</span><span style="color: gray"> </span><span style="color: green">new</span><span style="color: gray"> </span><span style="color: blue">Error</span><span style="color: olive">(</span><span style="color: #8b0000">"</span><span style="color: red">Not a valid IP address!</span><span style="color: #8b0000">"</span><span style="color: olive">)</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="color: olive"><span style="font-family: Courier">}</span></span><span style="color: gray"><br />
</span><span style="color: olive"><span style="font-family: Courier">}</span></span></div>
</div>
<p><span style="font-family: Courier">不过上面的程序如果不用正则表达式，而直接用split函数来分解可能更简单，程序如下：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: green">var</span><span style="color: gray"> </span><span style="color: blue">ip</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">10.100.20.168</span><span style="color: #8b0000">"</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: blue">ip</span><span style="color: gray">=</span><span style="color: blue">ip</span><span style="color: gray">.</span><span style="color: blue">split</span><span style="color: olive">(</span><span style="color: #8b0000">"</span><span style="color: red">.</span><span style="color: #8b0000">"</span><span style="color: olive">)</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: blue">alert</span><span style="color: olive">(</span><span style="color: #8b0000">"</span><span style="color: red">IP值是：</span><span style="color: #8b0000">"</span><span style="color: gray">+</span><span style="color: olive">(</span><span style="color: blue">ip</span><span style="color: olive">[</span><span style="color: maroon">0</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: maroon">255</span><span style="color: gray">*</span><span style="color: maroon">255</span><span style="color: gray">*</span><span style="color: maroon">255</span><span style="color: gray">+</span><span style="color: blue">ip</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: maroon">255</span><span style="color: gray">*</span><span style="color: maroon">255</span><span style="color: gray">+</span><span style="color: blue">ip</span><span style="color: olive">[</span><span style="color: maroon">2</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: maroon">255</span><span style="color: gray">+</span><span style="color: blue">ip</span><span style="color: olive">[</span><span style="color: maroon">3</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: maroon">1</span><span style="color: olive">))</span></span></div>
</div>
<p><span style="font-family: Courier">匹配Email地址的正则表达式：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">\</span><span style="color: blue">w</span><span style="color: gray">+</span><span style="color: olive">([</span><span style="color: gray">-+.</span><span style="color: olive">]</span><span style="color: gray">\</span><span style="color: blue">w</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">*@\</span><span style="color: blue">w</span><span style="color: gray">+</span><span style="color: olive">([</span><span style="color: gray">-.</span><span style="color: olive">]</span><span style="color: gray">\</span><span style="color: blue">w</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">*\.\</span><span style="color: blue">w</span><span style="color: gray">+</span><span style="color: olive">([</span><span style="color: gray">-.</span><span style="color: olive">]</span><span style="color: gray">\</span><span style="color: blue">w</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">*</span></span></div>
</div>
<p><span style="font-family: Courier">匹配网址URL的正则表达式：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: blue">http</span><span style="color: gray">:</span><span style="color: #ffa500">//([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?</span></span></div>
</div>
<p><span style="font-family: Courier">利用正则表达式去除字串中重复的字符的算法程序：[*注：此程序不正确]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: green">var</span><span style="color: gray"> </span><span style="color: blue">s</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">abacabefgeeii</span><span style="color: #8b0000">"</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: green">var</span><span style="color: gray"> </span><span style="color: blue">s1</span><span style="color: gray">=</span><span style="color: blue">s</span><span style="color: gray">.</span><span style="color: blue">replace</span><span style="color: olive">(</span><span style="color: #8b0000">/</span><span style="color: red">(.).*\1</span><span style="color: #8b0000">/g</span><span style="color: gray">,</span><span style="color: #8b0000">"</span><span style="color: red">$1</span><span style="color: #8b0000">"</span><span style="color: olive">)</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: green">var</span><span style="color: gray"> </span><span style="color: blue">re</span><span style="color: gray">=</span><span style="color: green">new</span><span style="color: gray"> </span><span style="color: teal">RegExp</span><span style="color: olive">(</span><span style="color: #8b0000">"</span><span style="color: red">[</span><span style="color: #8b0000">"</span><span style="color: gray">+</span><span style="color: blue">s1</span><span style="color: gray">+</span><span style="color: #8b0000">"</span><span style="color: red">]</span><span style="color: #8b0000">"</span><span style="color: gray">,</span><span style="color: #8b0000">"</span><span style="color: red">g</span><span style="color: #8b0000">"</span><span style="color: olive">)</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: green">var</span><span style="color: gray"> </span><span style="color: blue">s2</span><span style="color: gray">=</span><span style="color: blue">s</span><span style="color: gray">.</span><span style="color: blue">replace</span><span style="color: olive">(</span><span style="color: blue">re</span><span style="color: gray">,</span><span style="color: #8b0000">""</span><span style="color: olive">)</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: blue">alert</span><span style="color: olive">(</span><span style="color: blue">s1</span><span style="color: gray">+</span><span style="color: blue">s2</span><span style="color: olive">)</span><span style="color: gray">&nbsp; </span><span style="color: #ffa500">//结果为：abcefgi</span></span></div>
</div>
<p><span style="font-family: Courier">*注<br />
===============================<br />
如果var s = &#8220;abacabefggeeii&#8221;<br />
结果就不对了，结果为：abeicfgg<br />
正则表达式的能力有限<br />
===============================</span></p>
<p><span style="font-family: Courier">我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法，最终没有找到，这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符，再以重复的字符建立第二个表达式，取到不重复的字符，两者串连。这个方法对于字符顺序有要求的字符串可能不适用。</span></p>
<p><span style="font-family: Courier">得用正则表达式从URL地址中提取文件名的javascript程序，如下结果为page1</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: blue">s</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">http://blog.penner.cn/page1.htm</span><span style="color: #8b0000">"</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: blue">s</span><span style="color: gray">=</span><span style="color: blue">s</span><span style="color: gray">.</span><span style="color: blue">replace</span><span style="color: olive">(</span><span style="color: #8b0000">/</span><span style="color: red">(.*</span><span style="color: navy">\/</span><span style="color: red">){ 0, }([^\.]+).*</span><span style="color: #8b0000">/i</span><span style="color: blue">g</span><span style="color: gray">,</span><span style="color: #8b0000">"</span><span style="color: red">$2</span><span style="color: #8b0000">"</span><span style="color: olive">)</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: blue">alert</span><span style="color: olive">(</span><span style="color: blue">s</span><span style="color: olive">)</span></span></div>
</div>
<p><span style="font-family: Courier">利用正则表达式限制网页表单里的文本框输入内容：</span></p>
<p><span style="font-family: Courier">用正则表达式限制只能输入中文：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: blue">onkeyup</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">value=value.replace(/[^\u4E00-\u9FA5]/g,'')</span><span style="color: #8b0000">"</span><span style="color: gray"> </span><span style="color: blue">onbeforepaste</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))</span><span style="color: #8b0000">"</span></span></div>
</div>
<p><span style="font-family: Courier">用正则表达式限制只能输入全角字符：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: blue">onkeyup</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">value=value.replace(/[^\uFF00-\uFFFF]/g,'')</span><span style="color: #8b0000">"</span><span style="color: gray"> </span><span style="color: blue">onbeforepaste</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))</span><span style="color: #8b0000">"</span></span></div>
</div>
<p><span style="font-family: Courier">用正则表达式限制只能输入数字：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: blue">onkeyup</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">value=value.replace(/[^\d]/g,'') </span><span style="color: #8b0000">"</span><span style="color: blue">onbeforepaste</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</span><span style="color: #8b0000">"</span></span></div>
</div>
<p><span style="font-family: Courier">用正则表达式限制只能输入数字和英文：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: blue">onkeyup</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">value=value.replace(/[\W]/g,'') </span><span style="color: #8b0000">"</span><span style="color: blue">onbeforepaste</span><span style="color: gray">=</span><span style="color: #8b0000">"</span><span style="color: red">clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))</span><span style="color: #8b0000">"</span></span></div>
</div>
<p><span style="font-family: Courier">匹配非负整数（正整数 + 0）</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^\</span><span style="color: blue">d</span><span style="color: gray">+$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配正整数</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">[</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">][</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配非正整数（负整数 + 0）</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">((</span><span style="color: gray">-\</span><span style="color: blue">d</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">|</span><span style="color: olive">(</span><span style="color: maroon">0</span><span style="color: gray">+</span><span style="color: olive">))</span><span style="color: gray">$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配负整数</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^-</span><span style="color: olive">[</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">][</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配整数</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^-?\</span><span style="color: blue">d</span><span style="color: gray">+$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配非负浮点数（正浮点数 + 0）</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^\</span><span style="color: blue">d</span><span style="color: gray">+</span><span style="color: olive">(</span><span style="color: gray">\.\</span><span style="color: blue">d</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">?$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配正浮点数</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">(([</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">+\.</span><span style="color: olive">[</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">][</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">)</span><span style="color: gray">|</span><span style="color: olive">([</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">][</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*\.</span><span style="color: olive">[</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">|</span><span style="color: olive">([</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">][</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">))</span><span style="color: gray">$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配非正浮点数（负浮点数 + 0）</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">((</span><span style="color: gray">-\</span><span style="color: blue">d</span><span style="color: gray">+</span><span style="color: olive">(</span><span style="color: gray">\.\</span><span style="color: blue">d</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">?</span><span style="color: olive">)</span><span style="color: gray">|</span><span style="color: olive">(</span><span style="color: maroon">0</span><span style="color: gray">+</span><span style="color: olive">(</span><span style="color: gray">\</span><span style="color: maroon">.0</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">?</span><span style="color: olive">))</span><span style="color: gray">$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配负浮点数</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">(</span><span style="color: gray">-</span><span style="color: olive">(([</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">+\.</span><span style="color: olive">[</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">][</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">)</span><span style="color: gray">|</span><span style="color: olive">([</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">][</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*\.</span><span style="color: olive">[</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">|</span><span style="color: olive">([</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">[</span><span style="color: maroon">1</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">][</span><span style="color: maroon">0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">)))</span><span style="color: gray">$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配浮点数</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">(</span><span style="color: gray">-?\</span><span style="color: blue">d</span><span style="color: gray">+</span><span style="color: olive">)(</span><span style="color: gray">\.\</span><span style="color: blue">d</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">?$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配由26个英文字母组成的字符串</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">[</span><span style="color: blue">A</span><span style="color: gray">-</span><span style="color: blue">Za</span><span style="color: gray">-</span><span style="color: blue">z</span><span style="color: olive">]</span><span style="color: gray">+$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配由26个英文字母的大写组成的字符串</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">[</span><span style="color: blue">A</span><span style="color: gray">-</span><span style="color: blue">Z</span><span style="color: olive">]</span><span style="color: gray">+$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配由26个英文字母的小写组成的字符串</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">[</span><span style="color: blue">a</span><span style="color: gray">-</span><span style="color: blue">z</span><span style="color: olive">]</span><span style="color: gray">+$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配由数字和26个英文字母组成的字符串</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">[</span><span style="color: blue">A</span><span style="color: gray">-</span><span style="color: blue">Za</span><span style="color: gray">-</span><span style="color: blue">z0</span><span style="color: gray">-</span><span style="color: maroon">9</span><span style="color: olive">]</span><span style="color: gray">+$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配由数字、26个英文字母或者下划线组成的字符串</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^\</span><span style="color: blue">w</span><span style="color: gray">+$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配email地址</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">[</span><span style="color: gray">\</span><span style="color: blue">w</span><span style="color: gray">-</span><span style="color: olive">]</span><span style="color: gray">+</span><span style="color: olive">(</span><span style="color: gray">\.</span><span style="color: olive">[</span><span style="color: gray">\</span><span style="color: blue">w</span><span style="color: gray">-</span><span style="color: olive">]</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">*@</span><span style="color: olive">[</span><span style="color: gray">\</span><span style="color: blue">w</span><span style="color: gray">-</span><span style="color: olive">]</span><span style="color: gray">+</span><span style="color: olive">(</span><span style="color: gray">\.</span><span style="color: olive">[</span><span style="color: gray">\</span><span style="color: blue">w</span><span style="color: gray">-</span><span style="color: olive">]</span><span style="color: gray">+</span><span style="color: olive">)</span><span style="color: gray">+$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配url</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">^</span><span style="color: olive">[</span><span style="color: blue">a</span><span style="color: gray">-</span><span style="color: blue">zA</span><span style="color: gray">-</span><span style="color: blue">z</span><span style="color: olive">]</span><span style="color: gray">+:</span><span style="color: #ffa500">//匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$</span></span></div>
</div>
<p><span style="font-family: Courier">匹配html tag</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: gray">&lt;\</span><span style="color: blue">s</span><span style="color: gray">*</span><span style="color: olive">(</span><span style="color: gray">\</span><span style="color: blue">S</span><span style="color: gray">+</span><span style="color: olive">)(</span><span style="color: gray">\</span><span style="color: blue">s</span><span style="color: olive">[</span><span style="color: gray">^&gt;</span><span style="color: olive">]</span><span style="color: gray">*</span><span style="color: olive">)</span><span style="color: gray">?&gt;</span><span style="color: olive">(</span><span style="color: gray">.*?</span><span style="color: olive">)</span><span style="color: gray">&lt;\</span><span style="color: blue">s</span><span style="color: gray">*\</span><span style="color: #8b0000">/</span><span style="color: red">\1\s*&gt;</span></span></div>
</div>
<p><span style="font-family: Courier">Visual Basic &amp; C# Regular Expression<br />
1.确认有效电子邮件格式<br />
下面的示例使用静态 Regex.IsMatch 方法验证一个字符串是否为有效电子邮件格式。如果字符串包含一个有效的电子邮件地址，则 IsValidEmail 方法返回 true，否则返回 false，但不采取其他任何操作。您可以使用 IsValidEmail，在应用程序将地址存储在数据库中或显示在 ASP.NET 页中之前，筛选出包含无效字符的电子邮件地址。</span></p>
<p><span style="font-family: Courier">[Visual Basic]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier">Function IsValidEmail(strIn As String) As Boolean<br />
' Return true if strIn is in valid e-mail format.<br />
Return Regex.IsMatch(strIn, ("^([\w-\.]+)@((\[[0-9]{ 1,3 }\.[0-9]{ 1,3 }\.[0-9]{ 1,3 }\.)|(([\w-]+\.)+))([a-zA-Z]{ 2,4 }|[0-9]{ 1,3 })(\]?)$")<br />
End Function</span></div>
</div>
<p><span style="font-family: Courier">[C#]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier">bool IsValidEmail(string strIn)<br />
{<br />
// Return true if strIn is in valid e-mail format.<br />
return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{ 1,3 }\.[0-9]{ 1,3 }\.[0-9]{ 1,3 }\.)|(([\w-]+\.)+))([a-zA-Z]{ 2,4 }|[0-9]{ 1,3 })(\]?)$");<br />
}</span></div>
</div>
<p><span style="font-family: Courier">2.清理输入字符串<br />
下面的代码示例使用静态 Regex.Replace 方法从字符串中抽出无效字符。您可以使用这里定义的 CleanInput 方法，清除掉在接受用户输入的窗体的文本字段中输入的可能有害的字符。CleanInput 在清除掉除 @、-（连字符）和 .（句点）以外的所有非字母数字字符后返回一个字符串。</span></p>
<p><span style="font-family: Courier">[Visual Basic]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier">Function CleanInput(strIn As String) As String<br />
' Replace invalid characters with empty strings.<br />
Return Regex.Replace(strIn, "[^\w\.@-]", "")<br />
End Function</span></div>
</div>
<p><span style="font-family: Courier">[C#]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier">String CleanInput(string strIn)<br />
{<br />
&nbsp;&nbsp; &nbsp;// Replace invalid characters with empty strings.<br />
&nbsp;&nbsp; &nbsp;return Regex.Replace(strIn, @"[^\w\.@-]", "");<br />
}</span></div>
</div>
<p><span style="font-family: Courier">3.更改日期格式<br />
以下代码示例使用 Regex.Replace 方法来用 dd-mm-yy 的日期形式代替 mm/dd/yy 的日期形式。</span></p>
<p><span style="font-family: Courier">[Visual Basic]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier">Function MDYToDMY(input As String) As String<br />
Return Regex.Replace(input, _<br />
"\b(?&lt;month&gt;\d{ 1,2 })/(?&lt;day&gt;\d{ 1,2 })/(?&lt;year&gt;\d{ 2,4 })\b", _<br />
"${ day }-${ month }-${ year }")<br />
End Function</span></div>
</div>
<p><span style="font-family: Courier">[C#]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier">String MDYToDMY(String input)<br />
{<br />
&nbsp;&nbsp; &nbsp;return Regex.Replace(input,"\\b(?&lt;month&gt;\\d{ 1,2 })/(?&lt;day&gt;\\d{ 1,2 })/(?&lt;year&gt;\\d{ 2,4 })\\b","${ day }-${ month }-${ year }");<br />
}</span></div>
</div>
<p><span style="font-family: Courier">Regex 替换模式<br />
本示例说明如何在 Regex.Replace 的替换模式中使用命名的反向引用。其中，替换表达式 ${ day } 插入由 (?&#8230;) 组捕获的子字符串。</span></p>
<p><span style="font-family: Courier">有几种静态函数使您可以在使用正则表达式操作时无需创建显式正则表达式对象，而 Regex.Replace 函数正是其中之一。如果您不想保留编译的正则表达式，这将给您带来方便</span></p>
<p><span style="font-family: Courier">4.提取 URL 信息<br />
以下代码示例使用 Match.Result 来从 URL 提取协议和端口号。例如，&#8220;http://www.penner.cn:8080&#8230;&#8230;将返回&#8220;http:8080&#8221;。</span></p>
<p><span style="font-family: Courier">[Visual Basic]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier">Function Extension(url As String) As String<br />
Dim r As New Regex("^(?&lt;proto&gt;\w+)://[^/]+?(?&lt;port&gt;:\d+)?/", _<br />
RegexOptions.Compiled)<br />
Return r.Match(url).Result("${ proto }${ port }")<br />
End Function</span></div>
</div>
<p><span style="font-family: Courier">[C#]</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier">String Extension(String url)<br />
{<br />
&nbsp;&nbsp; &nbsp;Regex r = new Regex(@"^(?&lt;proto&gt;\w+)://[^/]+?(?&lt;port&gt;:\d+)?/",<br />
&nbsp;&nbsp; &nbsp;RegexOptions.Compiled);<br />
&nbsp;&nbsp; &nbsp;return r.Match(url).Result("${ proto }${ port }");<br />
}</span></div>
</div>
<p><span style="font-family: Courier">只有字母和数字，不小于6位，且数字字母都包含的密码的正则表达式<br />
在C#中，可以用这个来表示：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: #8b0000">"</span><span style="color: red">\w{ 6 }(\w+)*</span><span style="color: #8b0000">"</span></span></div>
</div>
<p><span style="font-family: Courier">一个将需要将路径字符串拆分为根目录和子目录两部分的算法程序，考虑路径格式有：C:\aa\bb\cc ，\\aa\bb\cc ， ftp://aa.bb/cc 上述路径将分别被拆分为：C:\和aa\bb\cc ，\\aa 和 \bb\cc ， ftp:// 和 aa.bb/cc 用javascript实现如下：</span></p>
<div class="hl-surround">
<div class="hl-main"><span style="font-family: Courier"><span style="color: green">var</span><span style="color: gray"> </span><span style="color: blue">strRoot</span><span style="color: gray">,</span><span style="color: blue">strSub</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: green">var</span><span style="color: gray"> </span><span style="color: blue">regPathParse</span><span style="color: gray">=</span><span style="color: #8b0000">/</span><span style="color: red">^([^\\^</span><span style="color: navy">\/</span><span style="color: red">]+[\\</span><span style="color: navy">\/</span><span style="color: red">]+|\\\\[^\\]+)(.*)$</span><span style="color: #8b0000">/</span></span><span style="color: gray"><br />
</span><span style="font-family: Courier"><span style="color: green">if</span><span style="color: olive">(</span><span style="color: blue">regPathParse</span><span style="color: gray">.</span><span style="color: blue">test</span><span style="color: olive">(</span><span style="color: blue">strFolder</span><span style="color: olive">))</span></span><span style="color: gray"><br />
</span><span style="color: olive"><span style="font-family: Courier">{</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="font-family: Courier"><span style="color: blue">strRoot</span><span style="color: gray">=</span><span style="color: teal">RegExp</span><span style="color: gray">.$</span><span style="color: maroon">1</span></span><span style="color: gray"><br />
<span style="font-family: Courier">&nbsp;&nbsp; &nbsp;</span></span><span style="font-family: Courier"><span style="color: blue">strSub</span><span style="color: gray">=</span><span style="color: teal">RegExp</span><span style="color: gray">.$</span><span style="color: maroon">2</span></span><span style="color: gray"><br />
</span><span style="color: olive"><span style="font-family: Courier">}</span></span></div>
</div>
<img src ="http://www.blogjava.net/zeroline/aggbug/338312.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zeroline/" target="_blank">zeroline</a> 2010-11-17 21:49 <a href="http://www.blogjava.net/zeroline/archive/2010/11/17/338312.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>