﻿<?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-用手做事，用心做事，用生命做事-随笔分类-javascript</title><link>http://www.blogjava.net/wyxdeniro/category/27583.html</link><description>舍我其谁</description><language>zh-cn</language><lastBuildDate>Mon, 04 Feb 2008 13:23:37 GMT</lastBuildDate><pubDate>Mon, 04 Feb 2008 13:23:37 GMT</pubDate><ttl>60</ttl><item><title>showModalDialog解释</title><link>http://www.blogjava.net/wyxdeniro/archive/2008/02/04/179276.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 04 Feb 2008 04:52:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2008/02/04/179276.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/179276.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2008/02/04/179276.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/179276.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/179276.html</trackback:ping><description><![CDATA[<div class="NewsContent" id="NewsContentLabel">window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框，由于是对话框，因此它并没有一般用window.open()打开的窗口的所有属性。&nbsp;<br />
window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。&nbsp;<br />
<br />
当我们用showModelessDialog()打开窗口时，不必用window.close()去关闭它，当以非模态方式［IE5］打开时，&nbsp;打开对话框的窗口仍可以进行其他的操作，即对话框不总是最上面的焦点，当打开它的窗口ＵＲＬ改变时，它自动关闭。而模态［ＩＥ４］方式的对话框始终有焦点（焦点不可移走，直到它关闭）。模态对话框和打开它的窗口相联系，因此我们打开另外的窗口时，他们的链接关系依然保存，并且隐藏在活动窗口的下面。&nbsp;<br />
<br />
使用方法如下：&nbsp;<br />
vReturnValue&nbsp;=&nbsp;window.showModalDialog(sURL&nbsp;[,&nbsp;vArguments]&nbsp;[,&nbsp;sFeatures])&nbsp;<br />
vReturnValue&nbsp;=&nbsp;window.showModelessDialog(sURL&nbsp;[,&nbsp;vArguments]&nbsp;[,&nbsp;sFeatures])&nbsp;<br />
参数说明：&nbsp;<br />
sURL&nbsp;<br />
必选参数，类型：字符串。用来指定对话框要显示的文档的URL。&nbsp;<br />
vArguments&nbsp;<br />
可选参数，类型：变体。用来向对话框传递参数。传递的参数类型不限，包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。&nbsp;<br />
sFeatures&nbsp;<br />
可选参数，类型：字符串。用来描述对话框的外观等信息，可以使用以下的一个或几个，用分号&#8220;;&#8221;隔开。&nbsp;<br />
dialogHeight&nbsp;对话框高度，不小于１００px，ＩＥ４中dialogHeight&nbsp;和&nbsp;dialogWidth&nbsp;默认的单位是em，而ＩＥ５中是px，为方便其见，在定义modal方式的对话框时，用px做单位。&nbsp;<br />
　　dialogWidth:&nbsp;对话框宽度。&nbsp;<br />
　　dialogLeft:&nbsp;距离桌面左的距离。&nbsp;<br />
　　dialogTop:&nbsp;离桌面上的距离。&nbsp;<br />
　　center:&nbsp;{yes&nbsp;|&nbsp;no&nbsp;|&nbsp;&nbsp;|&nbsp;0&nbsp;}：窗口是否居中，默认yes，但仍可以指定高度和宽度。&nbsp;<br />
　　help:&nbsp;{yes&nbsp;|&nbsp;no&nbsp;|&nbsp;&nbsp;|&nbsp;0&nbsp;}：是否显示帮助按钮，默认yes。&nbsp;<br />
　　resizable:&nbsp;{yes&nbsp;|&nbsp;no&nbsp;|&nbsp;&nbsp;|&nbsp;0&nbsp;}&nbsp;［ＩＥ５＋］：是否可被改变大小。默认no。&nbsp;<br />
　　status:&nbsp;{yes&nbsp;|&nbsp;no&nbsp;|&nbsp;&nbsp;|&nbsp;0&nbsp;}&nbsp;［IE5+］：是否显示状态栏。默认为yes[&nbsp;Modeless]或no[Modal]。&nbsp;<br />
scroll:{&nbsp;yes&nbsp;|&nbsp;no&nbsp;|&nbsp;&nbsp;|&nbsp;0&nbsp;|&nbsp;on&nbsp;|&nbsp;off&nbsp;}：指明对话框是否显示滚动条。默认为yes。&nbsp;<br />
<br />
还有几个属性是用在HTA中的，在一般的网页中一般不使用。&nbsp;<br />
dialogHide:{&nbsp;yes&nbsp;|&nbsp;no&nbsp;|&nbsp;&nbsp;|&nbsp;0&nbsp;|&nbsp;on&nbsp;|&nbsp;off&nbsp;}：在打印或者打印预览时对话框是否隐藏。默认为no。&nbsp;<br />
edge:{&nbsp;sunken&nbsp;|&nbsp;raised&nbsp;}：指明对话框的边框样式。默认为raised。&nbsp;<br />
unadorned:{&nbsp;yes&nbsp;|&nbsp;no&nbsp;|&nbsp;&nbsp;|&nbsp;0&nbsp;|&nbsp;on&nbsp;|&nbsp;off&nbsp;}：默认为no。&nbsp;<br />
<br />
传入参数：&nbsp;<br />
要想对话框传递参数，是通过vArguments来进行传递的。类型不限制，对于字符串类型，最大为4096个字符。也可以传递对象，例如：&nbsp;<br />
<br />
test.htm&nbsp;<br />
====================&nbsp;<br />
&lt;script&gt;&nbsp;<br />
var&nbsp;mxh&nbsp;=&nbsp;new&nbsp;Array("mxh",<a class="UBBWordLink" href="http://www.3721zy.net/article/WebS/Net/Article_021_1.html" target="_blank">"net</a>_lover","孟子E章")&nbsp;<br />
var&nbsp;mxh2&nbsp;=&nbsp;window.open("about:blank","window_mxh")&nbsp;<br />
//&nbsp;向对话框传递数组&nbsp;<br />
window.showModalDialog("test2.htm",mxh)&nbsp;<br />
//&nbsp;向对话框传递window对象&nbsp;<br />
window.showModalDialog("test3.htm",mxh2)&nbsp;<br />
&lt;/script&gt;&nbsp;<br />
<br />
test2.htm&nbsp;<br />
====================&nbsp;<br />
&lt;script&gt;&nbsp;<br />
var&nbsp;a&nbsp;=&nbsp;window.dialogArguments&nbsp;<br />
alert("您传递的参数为："&nbsp;+&nbsp;a)&nbsp;<br />
&lt;/script&gt;&nbsp;<br />
<br />
test3.htm&nbsp;<br />
====================&nbsp;<br />
&lt;script&gt;&nbsp;<br />
var&nbsp;a&nbsp;=&nbsp;window.dialogArguments&nbsp;<br />
alert("您传递的参数为window对象，名称："&nbsp;+&nbsp;a.name)&nbsp;<br />
&lt;/script&gt;&nbsp;<br />
<br />
可以通过window.returnValue向打开对话框的窗口返回信息，当然也可以是对象。例如：&nbsp;<br />
<br />
test4.htm&nbsp;<br />
===================&nbsp;<br />
&lt;script&gt;&nbsp;<br />
var&nbsp;a&nbsp;=&nbsp;window.showModalDialog("test5.htm")&nbsp;<br />
for(i=0;i&lt;a.length;i++)&nbsp;alert(a[i])&nbsp;<br />
&lt;/script&gt;&nbsp;<br />
<br />
test5.htm&nbsp;<br />
===================&nbsp;<br />
&lt;script&gt;&nbsp;<br />
function&nbsp;sendTo()&nbsp;<br />
{&nbsp;<br />
var&nbsp;a=new&nbsp;Array("a","b")&nbsp;<br />
window.returnValue&nbsp;=&nbsp;a&nbsp;<br />
window.close()&nbsp;<br />
}&nbsp;<br />
&lt;/script&gt;&nbsp;<br />
&lt;body&gt;&nbsp;<br />
&lt;form&gt;&nbsp;<br />
&lt;input&nbsp;value="返回"&nbsp;type=button&nbsp;<em><em><em><em>onclick</em></em></em></em>="sendTo()"&gt;&nbsp;<br />
&lt;/form&gt;&nbsp;<br />
</div>
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/179276.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2008-02-04 12:52 <a href="http://www.blogjava.net/wyxdeniro/archive/2008/02/04/179276.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于Iframe之间以及与父窗体的值传递 ----转csdn</title><link>http://www.blogjava.net/wyxdeniro/archive/2008/01/08/173664.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Tue, 08 Jan 2008 07:49:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2008/01/08/173664.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/173664.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2008/01/08/173664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/173664.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/173664.html</trackback:ping><description><![CDATA[<p>自己实现过了的,javascript脚本关于Iframe之间以及与父窗体的值传递,事件调用问题;</p>
<p>在父页面访问Iframe子窗体的txtAddress控件<br />
window.frames["ifrMapCompanyDetails"].document.all("txtAddress").value = '地址' ;<br />
&nbsp;&nbsp;&nbsp;</p>
<p>在Iframe子窗体1访问父页面的TextBox1控件 , 子窗体1把值赋给子窗体2的某个控件<br />
string strValue = "从子窗体传递给父页面的值" ;<br />
下面是在Page_Load事件里面调用的,当然可以写在javascript脚本里面<br />
this.Response.Write("&lt;script&gt;parent.document.all('TextBox1').value = '" + strValue + "';&lt;/script&gt;");<br />
this.Response.Write("&lt;script&gt;if( parent.document.all('TextBox2').value = '0')parent.document.all('TextBox1').value = '44';&lt;/script&gt;");<br />
&nbsp;&nbsp;</p>
<p>在Iframe子窗体1访问子窗体2的txtAddress控件&nbsp;子窗体1把值赋给子窗体2的某个控件 &nbsp;<br />
window.parent.frames["ifrMapCompanyDetails"].document.all("txtAddress").value = '地址' ;<br />
<br />
<br />
父窗体提交两个Iframe子窗体<br />
&nbsp;window.frames["ifrMapCompanyDetails"].Form1.submit();&nbsp;<br />
&nbsp;window.frames["ifrMapProductInfoDetails"].Form1.submit();<br />
<br />
Iframe子窗体 调用父页面的javascript事件<br />
window.parent.XXX()<br />
<br />
&nbsp;//父页面调用当前页面中IFRAME子页面中的脚本childEvent<br />
function invokechildEvent() <br />
{ var frm = document.frames["ifrChild1"].childEvent(); }<br />
或者调用当前页面中第一个IFRAME中的脚本childEvent<br />
{&nbsp;var frm = document.frames[0]; frm.childEvent(); }<br />
<br />
//子页面调用父窗体的某个按钮的按钮事件<br />
window.parent.Form1.btnParent.click()<br />
<br />
父页面调用子窗体的某个按钮的按钮事件<br />
window.frames['ifrChild1'].document.all.item("btnChild3").click();<br />
</p>
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/173664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2008-01-08 15:49 <a href="http://www.blogjava.net/wyxdeniro/archive/2008/01/08/173664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>css去掉下划线</title><link>http://www.blogjava.net/wyxdeniro/archive/2007/12/16/168059.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Sun, 16 Dec 2007 05:38:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/12/16/168059.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/168059.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/12/16/168059.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/168059.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/168059.html</trackback:ping><description><![CDATA[我们可以用CSS语法来控制超链接的形式、颜色变化。
<p><span class="p2" style="line-height: 17pt">　　下面我们做一个这样的链接：未被点击时超链接文字无下划线，显示为蓝色；当鼠标在链接上时有下划线，链接文字显示为红色；当点击链接后，链接无下划线，显示为绿色。 </span></p>
<p><span class="p2" style="line-height: 17pt">　　实现方法很简单，在源代码的&lt;head&gt;和&lt;head&gt;之间加上如下的CSS语法控制： </span></p>
<p><span class="p2" style="line-height: 17pt">　　 &lt;style type="text/css"&gt;<br />
　　 &lt;!--<br />
　　 a:link { text-decoration: none;color: blue}<br />
　　 a:active { text-decoration:blink}<br />
　　 a:hover { text-decoration:underline;color: red} <br />
　　 a:visited { text-decoration: none;color: green}<br />
　　 -－&gt; <br />
　　 &lt;/style&gt; </span></p>
<p><span class="p2" style="line-height: 17pt">　　其中：<br />
　　a:link 指正常的未被访问过的链接；<br />
　　a:active 指正在点的链接；<br />
　　a:hover 指鼠标在链接上；<br />
　　a:visited 指已经访问过的链接；<br />
　　text-decoration是文字修饰效果的意思；<br />
　　none参数表示超链接文字不显示下划线；<br />
</span><span class="p2" style="line-height: 17pt">　　underline参数表示超链接的文字有下划线 </span></p>
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/168059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-12-16 13:38 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/12/16/168059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX基础：JavaScript中类的实现----转载JAVAEye</title><link>http://www.blogjava.net/wyxdeniro/archive/2007/12/14/167803.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Fri, 14 Dec 2007 08:28:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/12/14/167803.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/167803.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/12/14/167803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/167803.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/167803.html</trackback:ping><description><![CDATA[通过使用无类型对象的构造方法来指定prototype对象，从而实现类的成员定义：
<p>以下是代码片段：</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #008000">//</span><span style="color: #008000">定义一个类class1&nbsp;</span><span style="color: #008000"><br />
<img id="Codehighlighter1_32_44_Open_Image" onclick="this.style.display='none'; Codehighlighter1_32_44_Open_Text.style.display='none'; Codehighlighter1_32_44_Closed_Image.style.display='inline'; Codehighlighter1_32_44_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_32_44_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_32_44_Closed_Text.style.display='none'; Codehighlighter1_32_44_Open_Image.style.display='inline'; Codehighlighter1_32_44_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;class1()</span><span id="Codehighlighter1_32_44_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_32_44_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />　</span><span style="color: #008000">//</span><span style="color: #008000">构造函数&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">}</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">通过指定prototype对象来实现类的成员定义&nbsp;</span><span style="color: #008000"><br />
<img id="Codehighlighter1_92_188_Open_Image" onclick="this.style.display='none'; Codehighlighter1_92_188_Open_Text.style.display='none'; Codehighlighter1_92_188_Closed_Image.style.display='inline'; Codehighlighter1_92_188_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_92_188_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_92_188_Closed_Text.style.display='none'; Codehighlighter1_92_188_Open_Image.style.display='inline'; Codehighlighter1_92_188_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #000000">class1.prototype</span><span style="color: #000000">=</span><span id="Codehighlighter1_92_188_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_92_188_Open_Text"><span style="color: #000000">{&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />　someProperty:</span><span style="color: #000000">"</span><span style="color: #000000">sample</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #008000">//</span><span style="color: #008000">声明属性</span><span style="color: #008000"><br />
<img id="Codehighlighter1_150_170_Open_Image" onclick="this.style.display='none'; Codehighlighter1_150_170_Open_Text.style.display='none'; Codehighlighter1_150_170_Closed_Image.style.display='inline'; Codehighlighter1_150_170_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_150_170_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_150_170_Closed_Text.style.display='none'; Codehighlighter1_150_170_Open_Image.style.display='inline'; Codehighlighter1_150_170_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;someMethod:</span><span style="color: #0000ff">function</span><span style="color: #000000">()</span><span id="Codehighlighter1_150_170_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_150_170_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">声明方法</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">　　</span><span style="color: #008000">//</span><span style="color: #008000">方法代码&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">　}</span></span><span style="color: #000000">,&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />　&#8230;</span><span style="color: #008000">//</span><span style="color: #008000">其他属性和方法.&nbsp;</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">}</span></span><span style="color: #000000">&nbsp;</span></div>
<p>&nbsp;</p>
<p>　　上面的代码用一种很清晰的方式定义了class1，构造函数直接用类名来实现，而成员使用无类型对象来定义，以列表的方式实现了所有属性和方法，并且可以在定义的同时初始化属性的值。这也更象传统意义面向对象语言中类的实现。只是构造函数和类的成员定义被分为了两个部分，这可看成JavaScript中定义类的一种固定模式，这样在使用时会更加容易理解。</p>
<p>　　注意：在一个类的成员之间互相引用，必须通过this指针来进行，例如在上面例子中的someMethod方法中，如果要使用属性someProperty，必须通过this.someProperty的形式，因为在JavaScript中每个属性和方法都是独立的，它们通过this指针联系在一个对象上。 </p>
 <img src ="http://www.blogjava.net/wyxdeniro/aggbug/167803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-12-14 16:28 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/12/14/167803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript经验小结</title><link>http://www.blogjava.net/wyxdeniro/archive/2007/12/12/167321.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Wed, 12 Dec 2007 12:22:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/12/12/167321.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/167321.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/12/12/167321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/167321.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/167321.html</trackback:ping><description><![CDATA[（1）、将弹出页面显示在页面中间<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_24_246_Open_Image" onclick="this.style.display='none'; Codehighlighter1_24_246_Open_Text.style.display='none'; Codehighlighter1_24_246_Closed_Image.style.display='inline'; Codehighlighter1_24_246_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_24_246_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_24_246_Closed_Text.style.display='none'; Codehighlighter1_24_246_Open_Image.style.display='inline'; Codehighlighter1_24_246_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;openNewWindow()</span><span id="Codehighlighter1_24_246_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_24_246_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;window.open(</span><span style="color: #000000">"</span><span style="color: #000000">productoffer_attr_new.html</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">newwindow</span><span style="color: #000000">"</span><span style="color: #000000">,'height</span><span style="color: #000000">=</span><span style="color: #000000">400</span><span style="color: #000000">,width</span><span style="color: #000000">=</span><span style="color: #000000">400</span><span style="color: #000000">,top</span><span style="color: #000000">=</span><span style="color: #000000">'</span><span style="color: #000000">+</span><span style="color: #000000">(screen.availHeight</span><span style="color: #000000">-</span><span style="color: #000000">400</span><span style="color: #000000">)</span><span style="color: #000000">/</span><span style="color: #000000">2</span><span style="color: #000000">+</span><span style="color: #000000">',left</span><span style="color: #000000">=</span><span style="color: #000000">'</span><span style="color: #000000">+</span><span style="color: #000000">(screen.availWidth</span><span style="color: #000000">-</span><span style="color: #000000">400</span><span style="color: #000000">)</span><span style="color: #000000">/</span><span style="color: #000000">2</span><span style="color: #000000">+</span><span style="color: #000000">',toolbar</span><span style="color: #000000">=</span><span style="color: #000000">no,menubar</span><span style="color: #000000">=</span><span style="color: #000000">no,scrollbars</span><span style="color: #000000">=</span><span style="color: #000000">no,resizable</span><span style="color: #000000">=</span><span style="color: #000000">no,location</span><span style="color: #000000">=</span><span style="color: #000000">no,status</span><span style="color: #000000">=</span><span style="color: #000000">no');<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
（2）、window.open 用来打开新窗口&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.location 用来替换当前页，也就是重新定位当前页 <br />
（3）、setTimeout("loadTreeData()",1000);&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表示在1000ms之后运行loadTreeData函数<br />
（4）、select文本框取值<br />
1、取得option中的值<br />
var selvalue=document.forms.attr_type.options[document.forms.attr_type.selectedIndex].value<br />
2、取得option中的name<br />
var selvalue=document.forms.attr_type.options[document.forms.attr_type.selectedIndex].text<br />
（5）、取得复选框的值<br />
function&nbsp;&nbsp; openUpdateWindow()&nbsp;&nbsp; <br />
&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp;&nbsp; a&nbsp;&nbsp; =&nbsp;&nbsp; document.getElementsByName("rows");&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp;&nbsp; s&nbsp;&nbsp; =&nbsp;&nbsp; [];&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var&nbsp;&nbsp; i=0;&nbsp;&nbsp; i&lt;a.length;&nbsp;&nbsp; i++)&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(a[i].type=="checkbox"&nbsp;&nbsp; &amp;&amp;&nbsp;&nbsp; a[i].checked)&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s[s.length]&nbsp;&nbsp; =&nbsp;&nbsp; a[i].value;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(s.length&gt;=2){alert("修改权限只能选择一条记录！");<br />
&nbsp;}else{<br />
&nbsp;window.open("pages/product/productoffer/productoffer_attr_new.jsp?offer_id="+s[0],"newwindow",'height=300,width=400,top='+(screen.availHeight-200)/2+',left='+(screen.availWidth-400)/2+',toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');<br />
&nbsp;}&nbsp;&nbsp;&nbsp; <br />
&nbsp; }<br />
（6）、取得多选框和单选框的值<br />
&lt;script&gt;<br />
function check(myname)<br />
{<br />
checkvalue="";<br />
for(i=0;i&lt;document.all[myname].length;i++)<br />
if(document.all[myname][i].checked)<br />
checkvalue+=document.all[myname][i].value+";"<br />
alert(checkvalue);<br />
}<br />
&lt;/script&gt;<br />
&lt;input type=radio name=myradio value=1&gt;<br />
&lt;input type=radio name=myradio value=2&gt;<br />
&lt;input type=radio name=myradio value=3&gt;<br />
&lt;input type=checkbox name=mycheckbox value=4&gt;<br />
&lt;input type=checkbox name=mycheckbox value=5&gt;<br />
&lt;input type=checkbox name=mycheckbox value=6&gt;<br />
&lt;input type=checkbox name=mycheckbox value=7&gt;<br />
&lt;input type=button onclick=check("myradio") value=radio&gt;<br />
&lt;input type=button onclick=check("mycheckbox") value=checkbox&gt;<br />
（7）、打开open传递form表单<br />
window.open("","hello",'height=250,width=600,top='+(screen.availHeight-250)/2+',left='+(screen.availWidth-600)/2+',toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no');<br />
&nbsp;&nbsp;document.forms.target="hello";<br />
&nbsp;&nbsp;document.forms.action="pages/product/productoffer/product_offer_bindNew.jsp";<br />
&nbsp;&nbsp;document.forms.submit();<br />
&nbsp;&nbsp;&nbsp;&nbsp;(8)、取得单选况的值<br />
&lt;INPUT id="Radio1" type="radio" value="fasd" name="RadioGroup" onclick="alert(this.value);"&gt;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;(9)、js设置文本框为只读<br />
&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById("rivetValue").readOnly=true;<br />
<br />
<br />
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/167321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-12-12 20:22 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/12/12/167321.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML中的【字型变化标签】与【文字颜色设定】 </title><link>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163251.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 26 Nov 2007 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163251.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/163251.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163251.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/163251.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/163251.html</trackback:ping><description><![CDATA[<table bordercolor="silver" cellspacing="0" cellpadding="4" width="450" align="center" bgcolor="#eaeaea" border="1">
    <tbody>
        <tr>
            <td class="whiteword" style="color: #993300" width="50%" bgcolor="#808080">原始码</td>
            <td class="whiteword" style="color: #993300" width="50%" bgcolor="#808080">呈现结果 </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;b&gt;粗体&lt;/b&gt;</td>
            <td style="color: #993300"><strong>粗体</strong> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;i&gt;斜体&lt;/i&gt;</td>
            <td style="color: #993300"><em>斜体</em> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;u&gt;底线&lt;/u&gt;</td>
            <td style="color: #993300"><u>底线</u> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;sup&gt;上标&lt;/sup&gt;</td>
            <td style="color: #993300"><sup>上标</sup> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;sub&gt;下标&lt;/sub&gt;</td>
            <td style="color: #993300"><sub>下标</sub> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;tt&gt;打字机&lt;/tt&gt;</td>
            <td style="color: #993300"><tt>打字机</tt> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;blink&gt;闪烁&lt;/blink&gt;（ie没效果）</td>
            <td style="color: #993300"><blink>闪烁</blink> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;em&gt;强调&lt;/em&gt;</td>
            <td style="color: #993300"><em>强调</em> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;strong&gt;加强&lt;/strong&gt;</td>
            <td style="color: #993300"><strong>加强</strong> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;samp&gt;范例&lt;/samp&gt;</td>
            <td style="color: #993300"><samp>范例</samp> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;code&gt;原始码&lt;/code&gt;</td>
            <td style="color: #993300"><code>原始码</code> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;var&gt;变数&lt;/var&gt;</td>
            <td style="color: #993300"><var>变数</var> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;dfn&gt;定义&lt;/dfn&gt;</td>
            <td style="color: #993300"><dfn>定义</dfn> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;cite&gt;引用&lt;/cite&gt;</td>
            <td style="color: #993300"><cite>引用</cite> </td>
        </tr>
        <tr>
            <td style="color: #993300">&lt;address&gt;所在地址&lt;/address&gt;</td>
            <td style="color: #993300">
            <address>所在地址</address>
            </td>
        </tr>
    </tbody>
</table>
<br />
<table bordercolor="silver" cellspacing="0" cellpadding="4" width="450" align="center" bgcolor="#eaeaea" border="1">
    <tbody>
        <tr>
            <td class="whiteword" width="50%" bgcolor="#808080">原始码</td>
            <td class="whiteword" width="50%" bgcolor="#808080">呈现结果 </td>
        </tr>
        <tr>
            <td>&lt;font color="#ff0000"&gt;红&lt;/font&gt;</td>
            <td><font color="#ff0000">红色的字喔！</font> </td>
        </tr>
        <tr>
            <td>&lt;font color="#ff8000"&gt;橙&lt;/font&gt;</td>
            <td><font color="#ff8000">橙色的字喔！</font> </td>
        </tr>
        <tr>
            <td>&lt;font color="#ffff00"&gt;黄&lt;/font&gt;</td>
            <td bgcolor="#666666"><font color="#ffff00">黄色的字喔！</font> </td>
        </tr>
        <tr>
            <td>&lt;font color="#00ff00"&gt;绿&lt;/font&gt;</td>
            <td><font color="#00ff00">绿色的字喔！</font> </td>
        </tr>
        <tr>
            <td>&lt;font color="#0080ff"&gt;蓝&lt;/font&gt;</td>
            <td><font color="#0080ff">蓝色的字喔！</font> </td>
        </tr>
        <tr>
            <td>&lt;font color="#0000a0"&gt;靛&lt;/font&gt;</td>
            <td><font color="#0000a0">靛色的字喔！</font> </td>
        </tr>
        <tr>
            <td>&lt;font color="#8000ff"&gt;紫&lt;/font&gt;</td>
            <td><font color="#8000ff">紫色的字喔！</font> </td>
        </tr>
        <tr>
            <td>&lt;font color="#000000"&gt;黑&lt;/font&gt;</td>
            <td><font color="#000000">黑色的字喔！</font> </td>
        </tr>
        <tr>
            <td>&lt;font color="#c0c0c0"&gt;灰&lt;/font&gt;</td>
            <td bgcolor="#ffffff"><font color="#c0c0c0">灰色的字喔！</font></td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/163251.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-11-26 17:19 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163251.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>css学习笔记（一） </title><link>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163250.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 26 Nov 2007 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163250.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/163250.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163250.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/163250.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/163250.html</trackback:ping><description><![CDATA[<span style="color: #800080">(1)字体属性:</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366ff">字体名称属性 (font-family) {font-family:Arial}可选项:caption，icon ，menu ，message-box，small-caption，status-bar<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字体大小属性 (font-size){font-size:16pt}最长用的就是pt,px<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字体风格属性(font-style){font-sytle:italic}可选项:normal, italic, oblique。normal是缺省值，italic, oblique都是斜体显示。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字体浓淡属性(font-weight)这个属性常用值是normal和bold，normal是缺省值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字体变量属性(font-variant)这个属性有两个值，normal和small-caps，normal是缺省值。small-caps表示小的大写字体。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字体属性(font){font:italic normal bold 11pt arial}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字体颜色(color)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;行高属性(line-height) normal (缺省值) length (长度，可以用绝对单位(cm, mm, in, pt,pc)或者相对单位 (em, ex, px)) percentage (百分比，相当于父对象高度的百分比)<br />
<br />
<span style="color: #800080">(2)文本属性<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366ff">文本对齐属性(text-align)可选项有:left,right,center,justify<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366ff">文本修饰属性(text-decoration)这个属性主要设定文本划线的属性。有以下值：none (无，缺省值) underline&nbsp;(下划线) overline (上划线) line-through (当中划线)</span><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文本缩进属性(text-indent)这个属性设定文本首行缩进。其值有以下设定方法：length (长度，可以用绝对单位(cm, mm, in, pt,&nbsp;pc)或者相对单位 (em, ex, px)) percentage (百分比，相当于父对象宽度的百分比)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;字间距属性(letter-spacing)这个属性用来设定字符之间的距离。normal (缺省值) length (长度，可以用绝对单位(cm, mm, in, pt, pc)或者相对单位 (em, ex, px))</span> 
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/163250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-11-26 17:18 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用的css样式 </title><link>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163249.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 26 Nov 2007 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163249.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/163249.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163249.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/163249.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/163249.html</trackback:ping><description><![CDATA[<span style="color: #993300">字体<br />
font-family: 字体名称 <br />
如果在font-family后加上多种字体的名称，浏览器回按字体名称的顺序逐一在用户的计算机里寻找已经安装的字体，一旦遇到与要求的相匹配的字体，就按这种字体显示网页内容，并停止搜索；如果不匹配就继续搜索，直到找到为止，万一样式表里的所有字体都没有安装的话，浏览器就会用自己默认的字体来替代显示网页的内容。<br />
注意：<br />
&#183;当指定多种字体时，用&#8220;，&#8221;分隔每种字体名称。<br />
&#183;当字体名称包含两个以上分开的单词时，用&#8220;&#8221;把该字体名称括起来。<br />
&#183;当样式规则外已经有&#8220;&#8221;时，用&#8216;&#8217;代替&#8220;&#8221;。 <br />
字体大小 <br />
font-size: 字号参数<br />
字号的取值范围： <br />
&#183;以Point为单位：点单位在所有的浏览器和操作平台上都适用 <br />
&#183;以Em为单位：指字母要素的尺寸，和Point相同距离 <br />
&#183;以Pixes为单位：像素可以使用于所有的操作平台，但可能会因为浏览者的屏幕分辨率不同，而造成显示上的效果差异 <br />
&#183;以in（英寸）为单位 <br />
&#183;以cm（厘米）为单位 <br />
&#183;以mm（毫米）为单位 <br />
&#183;以pc（打印机的字体大小）为单位 <br />
&#183;以ex（x-height）为单位 <br />
&#183;smaller：比当前文字的默认大小更小一号 <br />
&#183;larger：比当前文字的默认大小更小大号 <br />
&#183;使用比例关系 <br />
&#183;xx-small <br />
&#183;x-small <br />
&#183;small <br />
&#183;medium <br />
&#183;large <br />
&#183;x-large <br />
&#183;xx-large <br />
字体风格 <br />
字体风格只能控制各种斜体字的显示。 <br />
基本格式如下： <br />
font-style: 斜体字的名称 <br />
字体粗细 <br />
字体粗细控制粗体字的显示，取值范围从数字100~900，浏览器默认的字体粗细为400。另外可以通过参数lighter和bolder使得字体在原有基础上显得更细或更粗些。 <br />
基本格式如下： <br />
font-weight: 字体粗细 <br />
文字大小写 <br />
文字大小写使网页的设计者不用在输入文字时就完成文字的大小写，而可以在输入完毕后，再根据需要对局部的文字设置大小写。<br />
基本格式如下： <br />
text-transform: 参数 <br />
参数取值范围： <br />
&#183;uppercase：所有文字大写显示 <br />
&#183;lowercase：所有文字小写显示 <br />
&#183;capitalize：每个单词的头字母大写显示 <br />
&#183;none：不继承母体的文字变形参数 <br />
注意：继承是指HTML的标识符对于包含自己的标识符的参数会继承下来。<br />
文字修饰 <br />
文字修饰的主要用途是改变浏览器显示文字链接时的下划线。 <br />
基本格式如下： <br />
text-decoration: 参数 <br />
参数取值范围： <br />
&#183;underline：为文字加下划线 <br />
&#183;overline：为文字加上划线 <br />
&#183;line-through：为文字加删除线 <br />
&#183;blink：使文字闪烁 <br />
&#183;none：不显示上述任何效果 <br />
单词间距 <br />
单词间距指的是英文每个单词之间的距离，不包括中文文字。<br />
基本格式如下：<br />
word-spacing: 间隔距离 <br />
间隔距离的取值：points、em、pixes、in、cm、mm、pc、ex、normal等。 <br />
字母间距 <br />
字母间距是指英文字母之间的距离，功能、用法，以及参数的设置和单词间距很相似。 <br />
基本格式如下： <br />
letter-spacing: 字母间距 <br />
行距 <br />
行距是指上下两行基准线之间的垂直距离。一般地说，英文五线格练习本，从上往下数的第三条横线就是计算机所认为的该行的基准线。<br />
基本格式如下：<br />
line-height: 行间距离<br />
行间距离取值：<br />
&#183;不带单位的数字：以1为基数，相当于比例关系的100%<br />
&#183;带长度单位的数字：以具体的单位为准<br />
&#183;比例关系<br />
注意：如果文字字体很大，而行距相对较小的话，可能会发生上下两行文字互相重叠的现象。<br />
文本水平对齐 <br />
文本水平对齐可以控制文本的水平对齐，而且并不仅仅指文字内容，也包括设置图片、影像资料的对齐方式。<br />
基本格式如下：<br />
text-align: 参数<br />
参数的取值：<br />
&#183;left：左对齐<br />
&#183;right：右对齐<br />
&#183;center：居中对齐<br />
&#183;justify：相对左右对齐<br />
但需要注意的是，text-alight是块级属性，只能用于&lt; p&gt;、&lt; blockquqte&gt;、&lt; ul&gt;、&lt; h1&gt;~&lt; h6&gt;等标识符里。<br />
文本垂直对齐 <br />
文本的垂直对齐应当是相对于文本母体的位置而言的，不是指文本在网页里垂直对齐。比如说，表格的单元格里有一段文本，那么对这段文本设置垂直居中就是针对单元格来衡量的，也就是说，文本将在单元格的正中显示，而不是整个网页的正中。<br />
基本格式如下：<br />
vertical-align: 参数<br />
参数取值：<br />
&#183;top：顶对齐<br />
&#183;bottom：底对齐<br />
&#183;text-top：相对文本顶对齐<br />
&#183;text-bottom：相对文本底对齐<br />
&#183;baseline：基准线对齐<br />
&#183;middle：中心对齐<br />
&#183;sub：以下标的形式显示<br />
&#183;super：以上标的形式显示<br />
文本缩进 <br />
文本缩进可以使文本在相对默认值较窄的区域里显示，主要用于中文板式的首行缩进，或是为大段的引用文本和备注做成缩进的格式。<br />
基本格式如下：<br />
text-indent: 缩进距离<br />
缩进距离取值：<br />
&#183;带长度单位的数字<br />
&#183;比例关系<br />
但是需要注意的是，在使用比例关系的时候，有人会认为浏览器默认的比例是相对段落的宽度而言的，其实事实并非如此，整个浏览器的窗口才是浏览器所默认的参照物。<br />
另外，text-indent是块级属性，只能用于&lt; p&gt;、&lt; blockquqte&gt;、&lt; ul&gt;、&lt; h1&gt;~&lt; h6&gt;等标识符里。 <br />
颜色属性 <br />
基本格式如下： <br />
color: 参数 <br />
颜色参数取值范围： <br />
&#183;以RGB值表示 <br />
&#183;以16进制（hex）的色彩值表示 <br />
&#183;以默认颜色的英文名称表示 <br />
以默认颜色的英文名称表示无疑是最为方便的，但由于预定义的颜色种类太少，所以更多的网页设计者喜欢用RGB的方式。RGB方式的好处很多，不但可以用数字的形式精确地表示颜色，而且也是很多图像制作软件（如Photoshop）里默认使用的规范，这样一来就为图片和网页更好地结合打下了坚实的基础。<br />
背景颜色 <br />
在HTML当中，要为某个对象加上背景色只有一种办法，那就是先做一个表格，在表格中设置完背景色，再把对象放进单元格。这样做比较麻烦，不但代码较多，还要为表格的大小和定位伤些脑筋。现在用CSS就可以轻松地直接搞定了，而且对象的范围很广，可以是一段文字，也可以只是一个单词或一个字母。<br />
基本格式如下： <br />
background-color: 参数 <br />
参数取值和颜色属性一样。 <br />
背景图片 <br />
基本格式如下： <br />
background-image: url(URL) <br />
URL就是背景图片的存放路径。如果用&#8220;none&#8221;来代替背景图片的存放路径，将什么也不显示。<br />
背景图片重复 <br />
背景图片重复控制的是背景图片平铺与否，也就是说，结合背景定位的控制可以在网页上的某处单独显示一幅背景图片。 <br />
基本格式如下： <br />
background-repeat: 参数 <br />
参数取值范围： <br />
&#183;no-repeat：不重复平铺背景图片 <br />
&#183;repeat-x：使图片只在水平方向上平铺 <br />
&#183;repeat-y：使图片只在垂直方向上平铺 <br />
如果不指定背景图片重复属性，浏览器默认的是背景图片向水平、垂直两个方向上平铺。<br />
背景图片固定 <br />
背景图片固定控制背景图片是否随网页的滚动而滚动。如果不设置背景图片固定属性，浏览器默认背景图片随网页的滚动而滚动。为了避免过于花哨的背景图片在滚动时伤害浏览者的视力，所以可以解除背景图片和文字内容的捆绑，该为和浏览器窗口捆绑。 <br />
基本格式如下： <br />
background-attachment: 参数 <br />
参数取值范围： <br />
&#183;fixed：网页滚动时，背景图片相对于浏览器的窗口而言，固定不动 <br />
&#183;scroll：网页滚动时，背景图片相对于浏览器的窗口而言，一起滚动 <br />
背景定位 <br />
背景定位用于控制背景图片在网页中显示的位置。 <br />
基本格式如下： <br />
background-position: 参数表 <br />
参数取值范围： <br />
&#183;带长度单位的数字参数 <br />
&#183;top：相对前景对象顶对齐 <br />
&#183;bottom：相对前景对象底对齐 <br />
&#183;left：相对前景对象左对齐 <br />
&#183;right：相对前景对象右对齐 <br />
&#183;center：相对前景对象中心对齐 <br />
&#183;比例关系 <br />
参数中的center如果用于另外一个参数的前面，表示水平居中；如果用于另外一个参数的后面，表示垂直居中。<br />
列表符号 <br />
列表符号是指显示于每一个列表项目前的符号标识。 <br />
基本格式如下：<br />
list-style-type：参数 <br />
参数取值范围： <br />
&#183;disc：圆形 <br />
&#183;circle：空心圆 <br />
&#183;square：方块 <br />
&#183;decimal：十进制数字 <br />
&#183;lower-roman：小写罗马数字 <br />
&#183;upper-roman：大写罗马数字 <br />
&#183;lower-alpha：小写希腊字母 <br />
&#183;upper-alpha：大写希腊字母 <br />
&#183;none：无符号显示 <br />
参数中的disc是默认选项。 <br />
图形符号 <br />
图形符号指原来列表的项目符号将可以使用图形来代替。 <br />
基本格式如下： <br />
list-style-image：URL <br />
URL是用来代替项目符号的图形文件的地址，可以使用相对地址或绝对地址。 <br />
列表位置 <br />
列表位置描述列表在何处显示。 <br />
基本格式如下： <br />
list-style-position：参数 <br />
参数取值范围： <br />
&#183;inside：在BOX模型内部显示 <br />
&#183;outside：在BOX模型外部显示 <br />
这里又出现了一个新的概念：BOX模型。BOX是指一种容器，包含了应用样式规则的对象，具体介绍将在后文中给出。 <br />
在网页上，鼠标平时呈箭头形，指向链接时成为手形，等待网页下载时成为沙漏形&#8230;&#8230;这似乎是约定俗成的。虽然这样的设计能使我们知道浏览器现在的状态或是可以做什么，但这些好像还不能完全地满足我们的需要。就拿链接来说，可以是指向一个帮助文件，也可以是向前进一页或是向后退一页，针对如此多的功能光靠千篇一律的手形鼠标是不能说明问题的。值得庆幸的是，CSS提供了多达13种的鼠标形状，供我们选择。 <br />
基本格式如下： <br />
cursor：鼠标形状参数 <br />
CSS鼠标形状参数表： <br />
CSS代码 <br />
鼠标形状 <br />
style="cursor:hand" <br />
手形 <br />
style="cursor:crosshair" <br />
十字形 <br />
style="cursor:text" <br />
文本形 <br />
style="cursor:wait" <br />
沙漏形 <br />
style="cursor:move" <br />
十字箭头形 <br />
style="cursor:help" <br />
问号形 <br />
style="cursor:e-resize" <br />
右箭头形 <br />
style="cursor:n-resize" <br />
上箭头形 <br />
style="cursor:nw-resize" <br />
左上箭头形 <br />
style="cursor:w-resize" <br />
左箭头形 <br />
style="cursor:s-resize" <br />
下箭头形 <br />
style="cursor:se-resize" <br />
右下箭头形 <br />
style="cursor:sw-resize" <br />
左下箭头形 <br />
边框空白（MARGIN） <br />
如图所示，位于BOX模型的最外层，包括四项属性。 <br />
格式分别如下： <br />
&#183;margin-top：顶部空白距离 <br />
&#183;margin-right：右边空白距离 <br />
&#183;margin-bottom：底部空白距离 <br />
&#183;margin-left：左边空白距离 <br />
空白的距离可以用带长度单位的数字表示。 <br />
如果使用上述属性的简化方式margin，可以在其后连续加上四个带长度单位的数字，来分别表示margin-top、margin-right、margin-bottom、margin-left，每个数字中间要用空格分隔。<br />
对象边框（BORDER） <br />
如图所示，位于边框空白和对象空隙之间，包括了七项属性。<br />
格式分别如下： <br />
&#183;border-top：顶边框宽度 <br />
&#183;border-right：右边框宽度 <br />
&#183;border-bottom：底边框宽度 <br />
&#183;border-left：左边框宽度 <br />
&#183;border-width：所有边框宽度 <br />
&#183;border-color：边框颜色 <br />
&#183;border-style：边框样式参数 <br />
其中border-width可以一次性设置所有的边框宽度，border-color同时设置四面边框的颜色时，可以连续写上四种颜色，并用空格分隔。上述连续设置的边框都是按border-top、border-right、border-bottom、border-left的顺序。 <br />
Border-style相对别的属性而言稍稍复杂些，因为它还包括了多个边框样式的参数： <br />
&#183;none：无边框。 <br />
&#183;dotted：边框为点线。 <br />
&#183;dashed：边框为长短线。 <br />
&#183;solid：边框为实线。 <br />
&#183;double：边框为双线。 <br />
&#183;groove：根据color属性显示不同效果的3D边框 <br />
&#183;ridge：根据color属性显示不同效果的3D边框<br />
&#183;inset：根据color属性显示不同效果的3D边框<br />
&#183;outset：根据color属性显示不同效果的3D边框 <br />
对象间隙（PADDING）<br />
如图所示，位于对象边框和对象之间，包括了四项属性。 <br />
基本格式如下<br />
&#183;padding-top：顶部间隙 <br />
&#183;padding-right：右边间隙 <br />
&#183;padding-bottom：底部间隙 <br />
&#183;padding-left：左边间隙 <br />
和MARGIN类似，PADDING也可以用padding一次性设置所有的对象间隙，格式也和MARGIN相似，不再一一列举了。<br />
显示控制样式 <br />
基本格式如下： <br />
display: 参数 <br />
参数取值范围： <br />
&#183;block（默认）：在对象前后都换行 <br />
&#183;inline：在对象前后都不换行 <br />
&#183;list-item：在对象前后都换行，增加了项目符号 <br />
&#183;none：无显示 <br />
空白控制样式 <br />
基本格式如下： <br />
空白属性决定如何处理元素内的空格。 <br />
white-space: 参数 <br />
参数取值范围： <br />
normal：把多个空格替换为一个来显示 <br />
pre：忠实地按输入显示空格 <br />
nowrap：禁止换行 <br />
但要注意的是，write-space也是一个块级属性。</span> 
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/163249.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-11-26 17:17 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163249.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正则表达式学习 </title><link>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163248.html</link><dc:creator>王永庆</dc:creator><author>王永庆</author><pubDate>Mon, 26 Nov 2007 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163248.html</guid><wfw:comment>http://www.blogjava.net/wyxdeniro/comments/163248.html</wfw:comment><comments>http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163248.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyxdeniro/comments/commentRss/163248.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyxdeniro/services/trackbacks/163248.html</trackback:ping><description><![CDATA[<p style="color: #993300">正则表达式使用详解</p>
<p style="color: #993300">&nbsp;&nbsp;&nbsp;&nbsp; 简单的说，正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下： <br />
测试字符串的某个模式。例如，可以对一个输入字符串进行测试，看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。</p>
<p style="color: #993300">基本语法 <br />
<br />
正则表达式的形式一般如下：<br />
　　</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #993300">/love/　　其中位于&#8220;/&#8221;定界符之间的部分就是将要在目标对象中进行匹配的模式。为了能够使用户更加灵活的定制模式内容，正则表达式提供了专门的&#8220;元字符&#8221;。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符，可以用来规定其前导字符（即位于元字符前面的字符）在目标对象中的出现模式。</span><br />
&nbsp;<br />
<span style="color: #800080">较为常用的元字符包括： &#8220;+&#8221;， &#8220;*&#8221;，以及 &#8220;?&#8221;。</span></p>
<p style="color: #800080">&#8220;+&#8221;元字符规定其前导字符必须在目标对象中连续出现一次或多次。</p>
<p style="color: #800080">&#8220;*&#8221;元字符规定其前导字符必须在目标对象中出现零次或连续多次。</p>
<p><span style="color: #800080">&#8220;?&#8221;元字符规定其前导对象必须在目标对象中连续出现零次或一次。<br />
<br />
</span></p>
<p><span style="color: #000080">下面，就让我们来看一下正则表达式元字符的具体应用。</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">/fo+/　　因为上述正则表达式中包含&#8220;+&#8221;元字符，表示可以与目标对象中的 &#8220;fool&#8221;, &#8220;fo&#8221;, 或者 &#8220;football&#8221;等在字母f后面连续出现一个或多个字母o的字符串相匹配。</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">/eg*/　　因为上述正则表达式中包含&#8220;*&#8221;元字符，表示可以与目标对象中的 &#8220;easy&#8221;, &#8220;ego&#8221;, 或者 &#8220;egg&#8221;等在字母e后面连续出现零个或多个字母g的字符串相匹配。</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/<span style="color: #000080">Wil?/　　因为上述正则表达式中包含&#8220;？&#8221;元字符，表示可以与目标对象中的 &#8220;Win&#8221;, 或者&#8220;Wilson&#8221;,等在字母i后面连续出现零个或一个字母l的字符串相匹配。</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #993300">有时候不知道要匹配多少字符。为了能适应这种不确定性，正则表达式支持限定符的概念。这些限定符可以指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">{n} n 是一个非负整数。匹配确定的 n 次。例如，'o{2}' 不能匹配 "Bob" 中的 'o'，但是能匹配 "food" 中的两个 o。</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">{n,} n 是一个非负整数。至少匹配 n 次。例如，'o{2,}' 不能匹配 "Bob" 中的 'o'，但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">{n,m} m 和 n 均为非负整数，其中n &lt;= m。最少匹配 n 次且最多匹配 m 次。例如，"o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #993300">在对如何使用正则表达式有了初步了解之后，我们来看一下其它几个重要的元字符的使用方式。</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">&nbsp;1.\s：用于匹配单个空格符，包括tab键和换行符；</span>&nbsp; &nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">2.\S：用于匹配除单个空格符之外的所有字符；</span>&nbsp; &nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">3.\d：用于匹配从0到9的数字；</span>&nbsp; &nbsp;&nbsp;</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">4.\w：用于匹配字母，数字或下划线字符；</span>&nbsp; &nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">5.\W：用于匹配所有与\w不匹配的字符；</span>&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p><span style="color: #000080">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.：用于匹配除换行符之外的所有字符。</span>&nbsp; &nbsp;&nbsp;</p>
<script>render_code();</script>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #993300">下面，我们就通过实例看一下如何在正则表达式中使用上述元字符。 <br />
/\s+/ 上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。 <br />
/\d000/　如果我们手中有一份复杂的财务报表，那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千元的款项。<br />
</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #993300">除了我们以上所介绍的元字符之外，正则表达式中还具有另外一种较为独特的专用字符，即定位符。定位符用于规定匹配模式在目标对象中的出现位置。 较为常用的定位符包括： &#8220;^&#8221;, &#8220;$&#8221;, &#8220;\b&#8221; 以及 &#8220;\B&#8221;。</span> <br />
<div>&nbsp;&nbsp;&nbsp;<span style="color: #000080">代码</span></div>
<p><span style="color: #000080">1.&#8220;^&#8221;定位符规定匹配模式必须出现在目标字符串的开头 &nbsp;&nbsp; </span></p>
<p><span style="color: #000080">2.&#8220;$&#8221;定位符规定匹配模式必须出现在目标对象的结尾 &nbsp;&nbsp; </span></p>
<p><span style="color: #000080">3.&#8220;\b&#8221;定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一 &nbsp;&nbsp; </span></p>
<p><span style="color: #000080">4.&#8220;\B&#8221;定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内， &nbsp;&nbsp; </span></p>
<p><span style="color: #000080">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即匹配对象既不能作为目标字符串的开头，也不能作为目标字符串的结尾。</span> &nbsp;&nbsp; </p>
<script>render_code();</script><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #993300">同样，我们也可以把&#8220;^&#8221;和&#8220;$&#8221;以及&#8220;\b&#8221;和&#8220;\B&#8221;看作是互为逆运算的两组定位符。举例来说： /^hell/　因为上述正则表达式中包含&#8220;^&#8221;定位符，所以可以与目标对象中以 &#8220;hell&#8221;, &#8220;hello&#8221;或&#8220;hellhound&#8221;开头的字符串相匹配。 /ar$/　因为上述正则表达式中包含&#8220;$&#8221;定位符，所以可以与目标对象中以 &#8220;car&#8221;, &#8220;bar&#8221;或 &#8220;ar&#8221; 结尾的字符串相匹配。 /\bbom/　因为上述正则表达式模式以&#8220;\b&#8221;定位符开头，所以可以与目标对象中以 &#8220;bomb&#8221;, 或 &#8220;bom&#8221;开头的字符串相匹配。/man\b/　因为上述正则表达式模式以&#8220;\b&#8221;定位符结尾，所以可以与目标对象中以 &#8220;human&#8221;, &#8220;woman&#8221;或 &#8220;man&#8221;结尾的字符串相匹配。 <br />
为了能够方便用户更加灵活的设定匹配模式，正则表达式允许使用者在匹配模式中指定某一个范围而不局限于具体的字符。例如：</span> <br />
<div>&nbsp;&nbsp;&nbsp;<span style="color: #000080">代码</span></div>
<p><span style="color: #000080">1./[A-Z]/　　上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。 &nbsp;&nbsp; </span></p>
<p><span style="color: #000080">2./[a-z]/　　上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。&nbsp; &nbsp;&nbsp; </span></p>
<p><span style="color: #000080">3./[0-9]/&nbsp;　上述正则表达式将会与从0到9范围内任何一个数字相匹配。&nbsp; &nbsp;&nbsp;</span> </span></p>
<p><span style="color: #000080">4./([a-z][A-Z][0-9])+/　上述正则表达式将会与任何由字母和数字组成的字符串，如&nbsp;&#8220;aB0&#8221;&nbsp;等相匹配。</span> &nbsp;&nbsp;</span> </p>
<script>render_code();</script><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #993300">这里需要提醒用户注意的一点就是可以在正则表达式中使用 &#8220;()&#8221; 把字符串组合在一起。&#8220;()&#8221;符号包含的内容必须同时出现在目标对象中。因此，上述正则表达式将无法与诸如 &#8220;abc&#8221;等的字符串匹配，因为&#8220;abc&#8221;中的最后一个字符为字母而非数字。 <br />
如果我们希望在正则表达式中实现类似编程逻辑中的&#8220;或&#8221;运算，在多个不同的模式中任选一个进行匹配的话，可以使用管道符 &#8220;|&#8221;。例如：/to|too|2/　上述正则表达式将会与目标对象中的 &#8220;to&#8221;, &#8220;too&#8221;, 或 &#8220;2&#8221; 相匹配。</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">正则表达式中还有一个较为常用的运算符，即否定符 &#8220;[^]&#8221;。与我们前文所介绍的定位符 &#8220;^&#8221; 不同，否定符 &#8220;[^]&#8221;规定目标对象中不能存在模式中所规定的字符串。例如：/[^A-C]/　上述字符串将会与目标对象中除A，B，和C之外的任何字符相匹配。一般来说，当&#8220;^&#8221;出现在 &#8220;[]&#8221;内时就被视做否定运算符；而当&#8220;^&#8221;位于&#8220;[]&#8221;之外，或没有&#8220;[]&#8221;时，则应当被视做定位符。</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">最后，当用户需要在正则表达式的模式中加入元字符，并查找其匹配对象时，可以使用转义符&#8220;\&#8221;。例如：/Th\*/ 　上述正则表达式将会与目标对象中的&#8220;Th*&#8221;而非&#8220;The&#8221;等相匹配。</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000080">在构造正则表达式之后，就可以象数学表达式一样来求值，也就是说，可以从左至右并按照一个优先级顺序来求值。优先级如下：</span> <br />
<div>&nbsp;&nbsp;&nbsp;<span style="color: #000080">代码</span></div>
<p><span style="color: #000080">1．\&nbsp;转义符 &nbsp;&nbsp; </span></p>
<p><span style="color: #000080">2．(),&nbsp;(?:),&nbsp;(?=),&nbsp;[]&nbsp;圆括号和方括号 &nbsp;&nbsp;</span> </span></p>
<p><span style="color: #000080">3．*,&nbsp;+,&nbsp;?,&nbsp;{n},&nbsp;{n,},&nbsp;{n,m}&nbsp;限定符 &nbsp;&nbsp;</span> </span></p>
<p><span style="color: #000080">4．^,&nbsp;$,&nbsp;\anymetacharacter&nbsp;位置和顺序 &nbsp;&nbsp;</span> </span></p>
<p><span style="color: #000080">5．|&#8220;或&#8221;操作</span> &nbsp;&nbsp;</span> </p>
<script>render_code();</script>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;<span style="color: #993300">使用实例 <br />
在JavaScript 1.2中带有一个功能强大的RegExp()对象，可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式，并相应的返回true或false。 <br />
我们可以使用JavaScript编写以下脚本，验证用户输入的邮件地址的有效性</span>。 <br />
<div>&nbsp;&nbsp;&nbsp;<span style="color: #993300">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">&lt;html&gt;&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">&lt;head&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　&nbsp;&lt;script&nbsp;language="Javascript1.2"&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　　　&nbsp;&lt;!--&nbsp;start&nbsp;hiding&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　&nbsp;function&nbsp;verifyAddress(obj)&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　{&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　var&nbsp;email&nbsp;=&nbsp;obj.email.value;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　　　　　var&nbsp;pattern&nbsp;=&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　flag&nbsp;=&nbsp;pattern.test(email);&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　　　　　if(flag)&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　{&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　　alert(&#8220;Your&nbsp;email&nbsp;address&nbsp;is&nbsp;correct!&#8221;);&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　　return&nbsp;true;&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　}&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　else&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　　{&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　　　alert(&#8220;Please&nbsp;try&nbsp;again!&#8221;);&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　　　return&nbsp;false;&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　　　&nbsp;}&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　　&nbsp;}&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">　　　　&nbsp;//&nbsp;stop&nbsp;hiding&nbsp;--&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　　&nbsp;&lt;/script&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　&lt;/head&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　&nbsp;&lt;body&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　&nbsp;&lt;form&nbsp;onSubmit="return&nbsp;verifyAddress(this);"&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　　&nbsp;&lt;input&nbsp;name="email"&nbsp;type="text"&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　　&nbsp;&lt;input&nbsp;type="submit"&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　　&nbsp;&lt;/form&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">　　&lt;/body&gt;&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">&lt;/html&gt;</span>&nbsp; &nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<script>render_code();</script>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;<span style="color: #993300">正则表达式对象</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;<span style="color: #993300">本对象包含正则表达式模式以及表明如何应用模式的标志。</span> <br />
<div><span style="color: #993300">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">语法&nbsp;1&nbsp;re&nbsp;=&nbsp;/pattern/[flags] &nbsp;&nbsp; </span>
    <li><span style="color: #000080">语法&nbsp;2&nbsp;re&nbsp;=&nbsp;new&nbsp;RegExp("pattern",["flags"])</span>&nbsp; &nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<script>render_code();</script><br />
<span style="color: #993300">参数 <br />
re <br />
必选项。将要赋值为正则表达式模式的变量名。</span>
<p>&nbsp;</p>
<p><span style="color: #993300">Pattern <br />
必选项。要使用的正则表达式模式。如果使用语法 1，用 "/" 字符分隔模式。如果用语法 2，用引号将模式引起来。</span> </p>
<p>&nbsp;<span style="color: #993300">Flags </span><br />
<span style="color: #993300">可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用，可用的有：</span> <br />
<div>&nbsp;&nbsp;&nbsp;<span style="color: #993300">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #993300">g&nbsp;（全文查找出现的所有&nbsp;pattern）&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #993300">i&nbsp;（忽略大小写）&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #993300">m&nbsp;（多行查找）</span>&nbsp; &nbsp;&nbsp; </li>
</ol>
</div>
</div>
<script>render_code();</script>
<p>&nbsp;</p>
<p><span style="color: #993300">示例</span> <br />
<span style="color: #993300">下面的示例创建一个包含正则表达式模式及相关标志的对象(re)，向您演示正则表达式对象的用法。在本例中，作为结果的正则表达式对象又用于 match 方法中</span>： <br />
<div><span style="color: #993300">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">function&nbsp;MatchDemo() &nbsp;&nbsp; </span>
    <li><span style="color: #000080">{ &nbsp;&nbsp; </span>
    <li><span style="color: #000080">var&nbsp;r,&nbsp;re;&nbsp;//&nbsp;声明变量。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">var&nbsp;s&nbsp;=&nbsp;"The&nbsp;rain&nbsp;in&nbsp;Spain&nbsp;falls&nbsp;mainly&nbsp;in&nbsp;the&nbsp;plain"; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">re&nbsp;=&nbsp;new&nbsp;RegExp("ain","g");&nbsp;//&nbsp;创建正则表达式对象。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">r&nbsp;=&nbsp;s.match(re);&nbsp;//&nbsp;在字符串&nbsp;s&nbsp;中查找匹配。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">return(r);&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">}</span> &nbsp;&nbsp; </li>
</ol>
</div>
</div>
<script>render_code();</script>
<p>&nbsp;</p>
<p><span style="color: #993300">返回值： ain,ain,ain,ain\\ <br />
</span><span style="color: #993300">属性 lastIndex 属性 | source 属性\\ <br />
</span><span style="color: #993300">方法 compile 方法 | exec 方法 | test 方法\\</span> </p>
<p><span style="color: #993300">exec 方法 <br />
用正则表达式模式在字符串中运行查找，并返回包含该查找结果的一个数组。 <br />
rgExp.exec(str)</span></p>
<p><span style="color: #993300">参数</span></p>
<p><span style="color: #993300">rgExp <br />
必选项。包含正则表达式模式和可用标志的正则表达式对象</span></p>
<p><span style="color: #993300">str <br />
必选项。要在其中执行查找的 String 对象或字符串文字。</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;<span style="color: #993300">如果 exec 方法没有找到匹配，则它返回 null。如果它找到匹配，则 exec 方法返回一个数组，并且更新全局 RegExp 对象的属性，以反映匹配结果。数组的0元素包含了完整的匹配，而第1到n元素中包含的是匹配中出现的任意一个子匹配。这相当于没有设置全局标志 (g) 的 match 方法。</span> <br />
<span style="color: #993300">如果为正则表达式设置了全局标志，exec 从以 lastIndex 的值指示的位置开始查找。如果没有设置全局标志，exec 忽略 lastIndex 的值，从字符串的起始位置开始搜索</span>。</p>
<p><span style="color: #993300">exec 方法返回的数组有三个属性，分别是 input、index 和 lastIndex。Input 属性包含了整个被查找的字符串。Index 属性中包含了整个被查找字符串中被匹配的子字符串的位置。LastIndex 属性中包含了匹配中最后一个字符的下一个位置。</span></p>
<p><span style="color: #000080">示例\\</span> <br />
<span style="color: #000080">下面的例子举例说明了 exec 方法的用法：</span> <br />
<div><span style="color: #000080">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">function&nbsp;RegExpTest() &nbsp;&nbsp; </span>
    <li><span style="color: #000080">{ &nbsp;&nbsp; </span>
    <li><span style="color: #000080">var&nbsp;ver&nbsp;=&nbsp;Number(ScriptEngineMajorVersion()&nbsp;+&nbsp;"."&nbsp;+&nbsp;ScriptEngineMinorVersion()) &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">if&nbsp;(ver&nbsp;&gt;=&nbsp;5.5){&nbsp;//&nbsp;测试&nbsp;JScript&nbsp;的版本。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">var&nbsp;src&nbsp;=&nbsp;"The&nbsp;rain&nbsp;in&nbsp;Spain&nbsp;falls&nbsp;mainly&nbsp;in&nbsp;the&nbsp;plain."; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">var&nbsp;re&nbsp;=&nbsp;/\w+/g;&nbsp;//&nbsp;创建正则表达式模式。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">var&nbsp;arr; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">while&nbsp;((arr&nbsp;=&nbsp;re.exec(src))&nbsp;!=&nbsp;null) &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">document.write(arr.index&nbsp;+&nbsp;"-"&nbsp;+&nbsp;arr.lastIndex&nbsp;+&nbsp;arr&nbsp;+&nbsp;"\t"); &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">} &nbsp;&nbsp; </span>
    <li><span style="color: #000080">else{ &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">alert("请使用&nbsp;JScript&nbsp;的更新版本"); &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">} &nbsp;&nbsp; </span>
    <li><span style="color: #000080">}</span>&nbsp;&nbsp;&nbsp; </li>
</ol>
</div>
</div>
<p><span style="color: #993300">test 方法\\ <br />
返回一个 Boolean 值，它指出在被查找的字符串中是否存在模式。 <br />
rgexp.test(str)</span> </p>
<p><span style="color: #993300">参数\\ <br />
rgexp <br />
必选项。包含正则表达式模式或可用标志的正则表达式对象。</span> </p>
<p><span style="color: #993300">str <br />
必选项。要在其上测试查找的字符串。</span> </p>
<p><span style="color: #993300">说明 <br />
test 方法检查在字符串中是否存在一个模式，如果存在则返回 true，否则就返回 false。 <br />
全局 RegExp 对象的属性不由 test 方法来修改。</span></p>
<p><span style="color: #993300">示例</span> <br />
<span style="color: #993300">下面的例子举例说明了 test 方法的用法：</span> <br />
<div><span style="color: #993300">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">function&nbsp;TestDemo(re,&nbsp;s) &nbsp;&nbsp; </span>
    <li><span style="color: #000080">{ &nbsp;&nbsp; </span>
    <li><span style="color: #000080">var&nbsp;s1;&nbsp;//&nbsp;声明变量。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">//&nbsp;检查字符串是否存在正则表达式。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">if&nbsp;(re.test(s))&nbsp;//&nbsp;测试是否存在。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">s1&nbsp;=&nbsp;"&nbsp;contains&nbsp;";&nbsp;//&nbsp;s&nbsp;包含模式。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">else&nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">s1&nbsp;=&nbsp;"&nbsp;does&nbsp;not&nbsp;contain&nbsp;";&nbsp;//&nbsp;s&nbsp;不包含模式。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">return("'"&nbsp;+&nbsp;s&nbsp;+&nbsp;"'"&nbsp;+&nbsp;s1&nbsp;+&nbsp;"'"+&nbsp;re.source&nbsp;+&nbsp;"'");&nbsp;//&nbsp;返回字符串。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">}</span>&nbsp;&nbsp;&nbsp; </li>
</ol>
</div>
</div>
<p><span style="color: #993300">match 方法 <br />
使用正则表达式模式对字符串执行查找，并将包含查找的结果作为数组返回。\\ <br />
stringObj.match(rgExp)</span> </p>
<p><span style="color: #993300">参数\\ <br />
stringObj <br />
必选项。对其进行查找的 String 对象或字符串文字。</span> </p>
<p><span style="color: #993300">rgExp <br />
必选项。为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。</span> </p>
<p><span style="color: #993300">说明\\ <br />
如果 match 方法没有找到匹配，返回 null。如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。 <br />
match 方法返回的数组有三个属性：input、index 和 lastIndex。Input 属性包含整个的被查找字符串。Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。LastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置。 <br />
如果没有设置全局标志 (g)，数组的 0 元素包含整个匹配，而第 1 到 n 元素包含了匹配中曾出现过的任一个子匹配。这相当于没有设置全局标志的 exec 方法。如果设置了全局标志，元素 0 到 n 中包含所有匹配。</span></p>
<p><span style="color: #993300">示例\\</span> <br />
<span style="color: #993300">下面的示例演示了match 方法的用法</span>： <br />
<div><span style="color: #993300">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">function&nbsp;MatchDemo() &nbsp;&nbsp; </span>
    <li><span style="color: #000080">{ &nbsp;&nbsp; </span>
    <li><span style="color: #000080">var&nbsp;r,&nbsp;re;&nbsp;//&nbsp;声明变量。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">var&nbsp;s&nbsp;=&nbsp;"The&nbsp;rain&nbsp;in&nbsp;Spain&nbsp;falls&nbsp;mainly&nbsp;in&nbsp;the&nbsp;plain"; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">re&nbsp;=&nbsp;/ain/i;&nbsp;//&nbsp;创建正则表达式模式。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">r&nbsp;=&nbsp;s.match(re);&nbsp;//&nbsp;尝试匹配搜索字符串。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">return(r);&nbsp;//&nbsp;返回第一次出现&nbsp;"ain"&nbsp;的地方。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">}&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp; </li>
</ol>
</div>
</div>
<p><span style="color: #000080">本示例说明带 g 标志设置的 match 方法的用法。</span> <br />
<div><span style="color: #000080">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">function&nbsp;MatchDemo() &nbsp;&nbsp; </span>
    <li><span style="color: #000080">{ &nbsp;&nbsp; </span>
    <li><span style="color: #000080">var&nbsp;r,&nbsp;re;&nbsp;//&nbsp;声明变量。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">var&nbsp;s&nbsp;=&nbsp;"The&nbsp;rain&nbsp;in&nbsp;Spain&nbsp;falls&nbsp;mainly&nbsp;in&nbsp;the&nbsp;plain"; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">re&nbsp;=&nbsp;/ain/ig;&nbsp;//&nbsp;创建正则表达式模式。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">r&nbsp;=&nbsp;s.match(re);&nbsp;//&nbsp;尝试去匹配搜索字符串。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">return(r);&nbsp;//&nbsp;返回的数组包含了所有&nbsp;"ain"&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">//&nbsp;出现的四个匹配。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">}</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </li>
</ol>
</div>
</div>
<p><span style="color: #000080">上面几行代码演示了字符串文字的 match 方法的用法。</span> <br />
<div><span style="color: #000080">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">var&nbsp;r,&nbsp;re&nbsp;=&nbsp;"Spain"; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">r&nbsp;=&nbsp;"The&nbsp;rain&nbsp;in&nbsp;Spain".replace(re,&nbsp;"Canada"); &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">return&nbsp;r;</span>&nbsp;&nbsp;&nbsp;</span>&nbsp;&nbsp; </li>
</ol>
</div>
</div>
<p><span style="color: #993300">search 方法 <br />
返回与正则表达式查找内容匹配的第一个子字符串的位置。</span></p>
<p><span style="color: #993300">stringObj.search(rgExp)</span></p>
<p><span style="color: #993300">参数\\ <br />
stringObj <br />
必选项。要在其上进行查找的 String 对象或字符串文字。</span> </p>
<p><span style="color: #993300">rgExp <br />
必选项。包含正则表达式模式和可用标志的正则表达式对象。</span> </p>
<p><span style="color: #993300">search 方法指明是否存在相应的匹配。如果找到一个匹配，search 方法将返回一个整数值，指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配，则返回 -1。</span></p>
<p><span style="color: #993300">示例\\</span> <br />
<span style="color: #993300">下面的示例演示了 search 方法的用法。</span> <br />
<div><span style="color: #993300">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #000080">function&nbsp;SearchDemo() &nbsp;&nbsp; </span>
    <li><span style="color: #000080">{ &nbsp;&nbsp; </span>
    <li><span style="color: #000080">var&nbsp;r,&nbsp;re;&nbsp;//&nbsp;声明变量。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">var&nbsp;s&nbsp;=&nbsp;"The&nbsp;rain&nbsp;in&nbsp;Spain&nbsp;falls&nbsp;mainly&nbsp;in&nbsp;the&nbsp;plain."; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">re&nbsp;=&nbsp;/falls/i;&nbsp;//&nbsp;创建正则表达式模式。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">r&nbsp;=&nbsp;s.search(re);&nbsp;//&nbsp;查找字符串。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">return(r);&nbsp;//&nbsp;返回&nbsp;Boolean&nbsp;结果。 &nbsp;&nbsp;</span> </span>
    <li><span style="color: #000080">}</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </li>
</ol>
</div>
</div>
<p><span style="color: #993300">正则表达式语法 <br />
一个正则表达式就是由普通字符（例如字符 a 到 z）以及特殊字符（称为元字符）组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板，将某个字符模式与所搜索的字符串进行匹配。</span></p>
<p><span style="color: #993300">这里有一些可能会遇到的正则表达式示例：</span> <br />
<div><span style="color: #993300">代码</span></div>
<div>
<div>
<ol>
    <li><span style="color: #993300">JScript&nbsp;VBScript&nbsp;匹配&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #993300">/^\[&nbsp;\t]*$/&nbsp;"^\[&nbsp;\t]*$"&nbsp;匹配一个空白行。&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #993300">/\d{2}-\d{5}/&nbsp;"\d{2}-\d{5}"&nbsp;验证一个ID&nbsp;号码是否由一个2位数字，一个连字符以及一个5位数字组成。&nbsp; &nbsp;&nbsp;</span> </span>
    <li><span style="color: #993300">/&lt;(.*)&gt;.*&lt;\/\1&gt;/&nbsp;"&lt;(.*)&gt;.*&lt;\/\1&gt;"&nbsp;匹配一个&nbsp;HTML&nbsp;标记。</span>&nbsp; &nbsp;&nbsp;</span> </li>
</ol>
</div>
</div>
<script>render_code();</script>
<p>&nbsp;</p>
<p><span style="color: #993300">下表是元字符及其在正则表达式上下文中的行为的一个完整列表：</span></p>
<p><span style="color: #993300">字符 描述 <br />
\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如，'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。</span> </p>
<p><span style="color: #993300">^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性，^ 也匹配 '\n' 或 '\r' 之后的位置。</span> </p>
<p><span style="color: #993300">$ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性，$ 也匹配 '\n' 或 '\r' 之前的位置。</span> </p>
<p><span style="color: #993300">* 匹配前面的子表达式零次或多次。例如，zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。</span> </p>
<p><span style="color: #993300">+ 匹配前面的子表达式一次或多次。例如，'zo+' 能匹配 "zo" 以及 "zoo"，但不能匹配 "z"。+ 等价于 {1,}。</span> </p>
<p><span style="color: #993300">? 匹配前面的子表达式零次或一次。例如，"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。</span> </p>
<p><span style="color: #993300">{n} n 是一个非负整数。匹配确定的 n 次。例如，'o{2}' 不能匹配 "Bob" 中的 'o'，但是能匹配 "food" 中的两个 o。</span> </p>
<p><span style="color: #993300">{n,} n 是一个非负整数。至少匹配n 次。例如，'o{2,}' 不能匹配 "Bob" 中的 'o'，但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。</span> </p>
<p><span style="color: #993300">{n,m} m 和 n 均为非负整数，其中n &lt;= m。最少匹配 n 次且最多匹配 m 次。刘， "o{1,3}" 将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。</span> </p>
<p><span style="color: #993300">? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时，匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串，而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如，对于字符串 "oooo"，'o+?' 将匹配单个 "o"，而 'o+' 将匹配所有 'o'。</span> </p>
<p><span style="color: #993300">. 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符，请使用象 '[.\n]' 的模式。 <br />
</span><span style="color: #993300">(pattern) 匹配pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到，在VBScript 中使用 SubMatches 集合，在JScript 中则使用 $0&#8230;$9 属性。要匹配圆括号字符，请使用 '\(' 或 '\)'。</span> </p>
<p><span style="color: #993300">(?:pattern) 匹配 pattern 但不获取匹配结果，也就是说这是一个非获取匹配，不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如， 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。</span> </p>
<p><span style="color: #993300">(?=pattern) 正向预查，在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配，也就是说，该匹配不需要获取供以后使用。例如， 'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ，但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符，也就是说，在一个匹配发生后，在最后一次匹配之后立即开始下一次匹配的搜索，而不是从包含预查的字符之后开始。</span> </p>
<p><span style="color: #993300">(?!pattern) 负向预查，在任何不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配，也就是说，该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows"，但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符，也就是说，在一个匹配发生后，在最后一次匹配之后立即开始下一次匹配的搜索，而不是从包含预查的字符之后开始</span> </p>
<p><span style="color: #993300">x|y 匹配 x 或 y。例如，'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。</span> </p>
<p><span style="color: #993300">[xyz] 字符集合。匹配所包含的任意一个字符。例如， '[abc]' 可以匹配 "plain" 中的 'a'。</span> </p>
<p><span style="color: #993300">[^xyz] 负值字符集合。匹配未包含的任意字符。例如， '[^abc]' 可以匹配 "plain" 中的'p'。</span> </p>
<p><span style="color: #993300">[a-z] 字符范围。匹配指定范围内的任意字符。例如，'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。</span> </p>
<p><span style="color: #993300">[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如，'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。</span> </p>
<p><span style="color: #993300">\b 匹配一个单词边界，也就是指单词和空格间的位置。例如， 'er\b' 可以匹配"never" 中的 'er'，但不能匹配 "verb" 中的 'er'。</span> </p>
<p><span style="color: #993300">\B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er'，但不能匹配 "never" 中的 'er'。</span> </p>
<p><span style="color: #993300">\cx 匹配由x指明的控制字符。例如， \cM 匹配一个 Control-M 或回车符。 x 的值必须为 A-Z 或 a-z 之一。否则，将 c 视为一个原义的 'c' 字符。</span> </p>
<p><span style="color: #993300">\d 匹配一个数字字符。等价于 [0-9]。</span> </p>
<p><span style="color: #993300">\D 匹配一个非数字字符。等价于 [^0-9]。</span> </p>
<p><span style="color: #993300">\f 匹配一个换页符。等价于 \x0c 和 \cL。</span> </p>
<p><span style="color: #993300">\n 匹配一个换行符。等价于 \x0a 和 \cJ。</span> </p>
<p><span style="color: #993300">\r 匹配一个回车符。等价于 \x0d 和 \cM。</span> </p>
<p><span style="color: #993300">\s 匹配任何空白字符，包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。</span> </p>
<p><span style="color: #993300">\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。</span> </p>
<p><span style="color: #993300">\t 匹配一个制表符。等价于 \x09 和 \cI。</span> </p>
<p><span style="color: #993300">\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。</span> </p>
<p><span style="color: #993300">\w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。</span> </p>
<p><span style="color: #993300">\W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。</span> </p>
<p><span style="color: #993300">\xn 匹配 n，其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如， '\x41' 匹配 "A"。'\x041' 则等价于 '\x04' &amp; "1"。正则表达式中可以使用 ASCII 编码。.</span> </p>
<p><span style="color: #993300">\num 匹配 num，其中 num 是一个正整数。对所获取的匹配的引用。例如，'(.)\1' 匹配两个连续的相同字符。</span> </p>
<p><span style="color: #993300">\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式，则 n 为后向引用。否则，如果 n 为八进制数字 (0-7)，则 n 为一个八进制转义值。</span> </p>
<p><span style="color: #993300">\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式，则 nm 为后向引用。如果 \nm 之前至少有 n 个获取，则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足，若 n 和 m 均为八进制数字 (0-7)，则 \nm 将匹配八进制转义值 nm。</span> </p>
<p><span style="color: #993300">\nml 如果 n 为八进制数字 (0-3)，且 m 和 l 均为八进制数字 (0-7)，则匹配八进制转义值 nml。</span> </p>
<p><span style="color: #993300">\un 匹配 n，其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如， \u00A9 匹配版权符号 (?)。</span> </p>
<p><span style="color: #993300">优先权顺序 <br />
在构造正则表达式之后，就可以象数学表达式一样来求值，也就是说，可以从左至右并按照一个优先权顺序来求值。</span> </p>
<p><span style="color: #993300">下表从最高优先级到最低优先级列出各种正则表达式操作符的优先权顺序：</span> <br />
<span style="color: #993300">代码</span>
<div>
<div>
<ol>
    <li><span style="color: #000080">操作符&nbsp;描述&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">\&nbsp;转义符&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">(),&nbsp;(?:),&nbsp;(?=),&nbsp;[]&nbsp;圆括号和方括号&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">*,&nbsp;+,&nbsp;?,&nbsp;{n},&nbsp;{n,},&nbsp;{n,m}&nbsp;限定符&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">^,&nbsp;$,&nbsp;\anymetacharacter&nbsp;位置和顺序&nbsp; &nbsp;&nbsp; </span>
    <li><span style="color: #000080">|&nbsp;&#8220;或&#8221;操作</span>&nbsp; &nbsp;&nbsp; </li>
</ol>
</div>
</div>
<script>render_code();</script>
<p>&nbsp;</p>
<p><span style="color: #993300">普通字符</span></p>
<p><span style="color: #993300">普通字符由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符，所有数字，所有标点符号以及一些符号。</span> </p>
<p><span style="color: #993300">最简单的正则表达式是一个单独的普通字符，可以匹配所搜索字符串中的该字符本身。例如，单字符模式 'A' 可以匹配所搜索字符串中任何位置出现的字母 'A'。这里有一些单字符正则表达式模式的示例：</span> <br />
<span style="color: #993300">代码<br />
<li><span style="color: #000080">/7/ &nbsp;&nbsp;</span>
<li><span style="color: #000080">/M/</span></li>
<li><span style="color: #000080">/a/</span></span></li>
<img src ="http://www.blogjava.net/wyxdeniro/aggbug/163248.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyxdeniro/" target="_blank">王永庆</a> 2007-11-26 17:16 <a href="http://www.blogjava.net/wyxdeniro/archive/2007/11/26/163248.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>