<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_遨云</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/35455/rss</id><updated>2011-12-12T09:36:22Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/35455/rss"/><entry><id>http://www.cnblogs.com/jamin/archive/2011/12/12/2285124.html</id><title type="text">如何把Windows7打造成无线路由器攻略</title><summary type="text">为什么我的Windows7不能做无线路由器？为什么我的Win7不能做无线WiFi热点？先别着急，今天先来说两招秘籍，秒速确定检测您的Windows 7爱机是不能能做成无线AP（无线路由器），专业术语来说，就是来判断您安装有Windows7操作系统的电脑里面的网卡是否支持“无线承载网络”——方法一：在开始菜单的搜索栏输入“CMD”进入命令提示符，然后输入“netshwlanshowdrivers”命令，这是查看无线网卡驱动信息的命令，我们在信息中可以看到“支持的网络承载”这一项，如果显示的是“否”，那么就表示无法建议无线AP。方法二：右键点击“计算机”选择“属性”进入系统信息栏，点击左上角的设备</summary><published>2011-12-12T09:36:00Z</published><updated>2011-12-12T09:36:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/12/12/2285124.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/12/12/2285124.html"/><content type="html">&lt;p&gt;为什么我的Windows7不能做无线路由器？为什么我的Win7不能做无线WiFi热点？&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;先别着急，今天先来说两招秘籍，秒速确定检测您的Windows 7爱机是不能能做成无线AP（无线路由器），专业术语来说，就是来判断您安装有Windows7操作系统的电脑里面的网卡是否支持&amp;#8220;无线承载网络&amp;#8221;&amp;#8212;&amp;#8212;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;方法一：&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在开始菜单的搜索栏输入&amp;#8220;CMD&amp;#8221;进入命令提示符，然后输入&amp;#8220;&lt;strong&gt;netsh&amp;nbsp;wlan&amp;nbsp;show&amp;nbsp;drivers&lt;/strong&gt;&amp;#8221;命令，这是查看无线网卡驱动信息的命令，我们在信息中可以看到&amp;#8220;支持的网络承载&amp;#8221;这一项，如果显示的是&amp;#8220;否&amp;#8221;，那么就表示无法建议无线AP。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20111120_105658_681_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;方法二：&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;右键点击&amp;#8220;计算机&amp;#8221;选择&amp;#8220;属性&amp;#8221;进入系统信息栏，点击左上角的设备管理器，然后选择当前使用的无线网卡，双击进入详细信息查看，在&amp;#8220;驱动程序&amp;#8221;一栏点击&amp;#8220;驱动程序详细信息&amp;#8221;，假如支持建立无线AP功能的话，那么在驱动程序文件中一定有一个名为&amp;#8220;vwifibus.sys&amp;#8221;的文件，没有的话则说明无法支持这个功能。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20111120_110101_244_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;【解决】：&lt;/p&gt;&#xD;
&lt;p&gt;利用&amp;nbsp;&lt;a href="http://www.win7china.com/" target="_blank"&gt;Windows7&lt;/a&gt;&amp;nbsp;的&amp;nbsp;Internet&amp;nbsp;网络连接共享功能，我们可以快速组建自己的无线共享网络。&lt;/p&gt;&#xD;
&lt;p&gt;要完成这个任务，请参照以下步骤:&lt;/p&gt;&#xD;
&lt;p&gt;1、确保笔记本的有线网卡和无线网卡可以正常工作，并确保本本可以正常的通过有线网络连接到互联网。&lt;/p&gt;&#xD;
&lt;p&gt;（值得注意的是，多数台式机和比较老的本本是没有无线网卡的，因此就无法进行本文的无线网络共享）&lt;/p&gt;&#xD;
&lt;p&gt;2、打开网络和共享中心&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20101221_150013_965_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3、在&amp;nbsp;控制面板&amp;nbsp;\&amp;nbsp;网络和&amp;nbsp;Internet&amp;nbsp;\&amp;nbsp;网络和共享中心&amp;nbsp;中选择&amp;nbsp;设置新的连接或网络&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20101221_150058_778_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4、在向导中选择&amp;nbsp;设置无线临时（计算机到计算机）网络，点击&amp;nbsp;下一步&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20101221_150132_715_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;5、输入&amp;nbsp;网络名&amp;nbsp;以及&amp;nbsp;安全密钥（推荐），并点击&amp;nbsp;下一步&amp;nbsp;完成&amp;nbsp;为您的网络命名并选择安全选项&amp;nbsp;向导。&lt;br /&gt;&lt;br /&gt;注意：&amp;nbsp;请记住安全密钥，其他计算机需要通过此密钥连接您的临时网络。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20101221_150208_715_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;6、单击&amp;nbsp;启用Internet连接共享&amp;nbsp;按钮，以开启共享网络。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20101221_150247_840_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;7、点击&amp;nbsp;关闭&amp;nbsp;按钮以完成向导。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20101221_150324_465_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;8、至此，您的网络已经就绪，并等待其他计算机的接入&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="http://img.win7china.com/NewsUploadFiles/20101221_150358_684_u.jpg"  alt="" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;设置完成，终于可以共享无线网络连接了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2285124.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/12/12/2285124.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/12/08/2281187.html</id><title type="text">div 字串超长截取</title><summary type="text">&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&amp;lt;head&amp;gt;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-</summary><published>2011-12-08T11:40:00Z</published><updated>2011-12-08T11:40:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/12/08/2281187.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/12/08/2281187.html"/><content type="html">&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "&lt;a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;lt;html xmlns="&lt;a href="http://www.w3.org/1999/xhtml"&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;ul {width:300px; margin:50px auto;}&lt;br /&gt;div,li {width:300px; line-height:25px; text-overflow:ellipsis;-o-text-overflow:ellipsis; white-space:nowrap; overflow:hidden;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;CSS在中嚼为燰加 脸婆婆 ；有 - Pro CSS Techniques 111111111111111111111111111111&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;CS迪庆矿业"六个抓" 抓出安全环保"六为零"11111111&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;凉山矿业强管理：凤凰涅槃 一飞冲天111111&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;Web冶炼板块"安全，你我同行"安全知识竞赛在总厂部举行�11111111&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;集团隆重召开庆祝建党90周年纪念大会�11111&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;山矿业强管理：凤凰涅槃 一飞冲天111111111111&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;CSS在中嚼为燰加 脸婆婆 ；有 - Pro CSS Techniques 1111111111111111111111111111&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;CS迪庆矿业"六个抓" 抓出安全环保"六为零"11111111&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;凉山矿业强管理：凤凰涅槃 一飞冲天14SFq1111 &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;Web冶炼板块"安全，你我同行"安全知识竞赛在总厂举行1111&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;集团隆重召s2$d开庆祝建党90周年纪念大会�11111 &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;集团隆重召d开庆祝16建党90周年纪念大会�11111&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;div&amp;gt;山矿业强管理：凤凰涅槃 一飞冲天111111111111&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2281187.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/12/08/2281187.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/11/16/2251069.html</id><title type="text">sqlserver数据库排序规则</title><summary type="text">SQL语句：SELECT COLLATIONPROPERTY(&amp;#39;Chinese_PRC_Stroke_CI_AI_KS_WS&amp;#39;, &amp;#39;CodePage&amp;#39;)结果：936 简体中文GBK 950 繁体中文BIG5 437 美国/加拿大英语 932 日文 949 韩文 866 俄文 65001 unicode UFT-8 请问怎么更改排序规则呢 1.sp_helpsort SELECT SERVERPROPERTY (&amp;#39;Collation&amp;#39;) 查看你的排序规则. 不过你的这个应该和字符集有关.2.更改服务器排序规则 更改 SQL Server 2005 </summary><published>2011-11-16T04:51:00Z</published><updated>2011-11-16T04:51:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/11/16/2251069.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/11/16/2251069.html"/><content type="html">&lt;p&gt;SQL语句：SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')&lt;br /&gt;结果：&lt;br /&gt;936 简体中文GBK &lt;br /&gt;950 繁体中文BIG5 &lt;br /&gt;437 美国/加拿大英语 &lt;br /&gt;932 日文 &lt;br /&gt;949 韩文 &lt;br /&gt;866 俄文 &lt;br /&gt;65001 unicode UFT-8 &lt;br /&gt;&amp;nbsp;&lt;br /&gt;请问怎么更改排序规则呢 &lt;br /&gt;1.sp_helpsort &lt;br /&gt;SELECT SERVERPROPERTY ('Collation') &lt;br /&gt;查看你的排序规则. &lt;br /&gt;不过你的这个应该和字符集有关.&lt;/p&gt;&#xD;
&lt;p&gt;2.更改服务器排序规则 &lt;br /&gt;更改 SQL Server 2005 实例的默认排序规则的操作可能会比较复杂，包括以下步骤： &lt;/p&gt;&#xD;
&lt;p&gt;确保具有重新创建用户数据库及这些数据库中的所有对象所需的全部信息或脚本。 &lt;br /&gt;使用工具（例如大容量复制）导出所有数据。 &lt;br /&gt;删除所有用户数据库。 &lt;br /&gt;重新生成在 setup 命令的 SQLCOLLATION 属性中指定新的排序规则的 master 数据库。例如： &lt;br /&gt;复制代码 &lt;br /&gt;start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=SQL_Latin1_General_CP1_CI_AI &lt;br /&gt;有关重新生成 master 数据库的详细信息，请参阅如何重新生成 SQL Server 2005 的 Master 数据库。 &lt;br /&gt;创建所有数据库及这些数据库中的所有对象。 &lt;br /&gt;导入所有数据。 &lt;br /&gt;注意：&amp;nbsp; &lt;br /&gt;可以为创建的每个新数据库指定默认排序规则，而不更改 SQL Server 2005 实例的默认排序规则。 &lt;/p&gt;&#xD;
&lt;p&gt;3.设置和更改数据库排序规则 &lt;br /&gt;创建新数据库时，可以使用下列内容之一指定排序规则： &lt;br /&gt;CREATE DATABASE 语句的 COLLATE 子句。 &lt;br /&gt;SQL Server Management Studio. &lt;br /&gt;SQL 管理对象 (SMO) 中的 Database.Collation 属性。 &lt;br /&gt;如果未指定排序规则，则使用服务器排序规则。 &lt;br /&gt;可以使用 ALTER DATABASE 语句的 COLLATE 子句来更改在用户数据库中创建的任何新对象的排序规则。使用此语句不能更改任何现有用户定义的表中列的排序规则。使用 ALTER TABLE 的 COLLATE 子句可以更改这些列的排序规则。 &lt;br /&gt;更改数据库排序规则时，需要更改下列内容： &lt;br /&gt;数据库的默认排序规则，这一新的默认排序规则将应用于数据库中后续创建的所有列、用户定义的数据类型、变量和参数。根据数据库中定义的对象解析 SQL 语句中指定的对象标识符时，也使用新的默认排序规则。 &lt;br /&gt;将系统表中的任何 char、varchar、text、nchar、nvarchar 或 ntext 列更改为使用新的排序规则。 &lt;br /&gt;将存储过程和用户定义函数的所有现有 char、varchar、text、nchar、nvarchar 或 ntext 参数和标量返回值更改为使用新的排序规则。 &lt;br /&gt;将 char、varchar、text、nchar、nvarchar 或 ntext 系统数据类型和基于这些系统数据类型的所有用户定义的数据类型更改为使用新的默认排序规则。 &lt;/p&gt;&#xD;
&lt;p&gt;SQL code :&lt;/p&gt;&#xD;
&lt;p&gt;1.将数据库的字符集修改为：&lt;br /&gt;alter database dbname collate Chinese_PRC_CI_AS&lt;/p&gt;&#xD;
&lt;p&gt;2.&lt;/p&gt;&#xD;
&lt;p&gt;--1. 为数据库指定排序规则&lt;br /&gt;CREATE DATABASE db COLLATE Chinese_PRC_CI_AS&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;ALTER DATABASE db COLLATE Chinese_PRC_BIN&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;/*====================================*/&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;--2. 为表中的列指定排序规则&lt;br /&gt;CREATE TABLE tb(&lt;br /&gt;col1 varchar(10),&lt;br /&gt;col2 varchar(10) COLLATE Chinese_PRC_CI_AS)&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;ALTER TABLE tb ADD col3 varchar(10) COLLATE Chinese_PRC_BIN&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;ALTER TABLE tb ALTER COLUMN col2 varchar(10) COLLATE Chinese_PRC_BIN&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;/*====================================*/&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;--3. 为字符变量和参数应用排序规则&lt;br /&gt;DECLARE @a varchar(10),@b varchar(10)&lt;br /&gt;SELECT @a='a',@b='A'&lt;/p&gt;&#xD;
&lt;p&gt;--使用排序规则 Chinese_PRC_CI_AS&lt;br /&gt;SELECT CASE WHEN @a COLLATE Chinese_PRC_CI_AS = @b THEN &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#39;&amp;#64;&amp;#97;&amp;#61;&amp;#64;&amp;#98;&amp;#39;"&gt;'@a=@b'&lt;/a&gt; ELSE &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#39;&amp;#64;&amp;#97;&amp;#37;&amp;#51;&amp;#67;&amp;#37;&amp;#51;&amp;#69;&amp;#64;&amp;#98;&amp;#39;"&gt;mailto:'@a%3C%3E@b'&lt;/a&gt; END&lt;br /&gt;--结果:@a=@b&lt;/p&gt;&#xD;
&lt;p&gt;--使用排序规则 Chinese_PRC_BIN&lt;br /&gt;SELECT CASE WHEN @a COLLATE Chinese_PRC_BIN = @b THEN &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#39;&amp;#64;&amp;#97;&amp;#61;&amp;#64;&amp;#98;&amp;#39;"&gt;'@a=@b'&lt;/a&gt; ELSE &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#39;&amp;#64;&amp;#97;&amp;#37;&amp;#51;&amp;#67;&amp;#37;&amp;#51;&amp;#69;&amp;#64;&amp;#98;&amp;#39;"&gt;mailto:'@a%3C%3E@b'&lt;/a&gt; END&lt;br /&gt;--结果:@a&amp;lt;&amp;gt;@b&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;3.&lt;br /&gt;表&lt;br /&gt;ALTER&amp;nbsp;&amp;nbsp; TABLE&amp;nbsp;&amp;nbsp; tb&lt;br /&gt;&amp;nbsp; ALTER&amp;nbsp;&amp;nbsp; COLUMN&amp;nbsp;&amp;nbsp; colname&amp;nbsp;&amp;nbsp; nvarchar(100)&amp;nbsp;&amp;nbsp; COLLATE&amp;nbsp;&amp;nbsp; Chinese_PRC_CI_AS&amp;nbsp; &lt;br /&gt;--不区分大小写&lt;br /&gt;ALTER&amp;nbsp;&amp;nbsp; TABLE&amp;nbsp;&amp;nbsp; tb&amp;nbsp; &lt;br /&gt;&amp;nbsp; ALTER&amp;nbsp;&amp;nbsp; COLUMN&amp;nbsp;&amp;nbsp; colname&amp;nbsp;&amp;nbsp; nvarchar(100)&amp;nbsp;&amp;nbsp; COLLATE&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS&amp;nbsp; &lt;br /&gt;--区分大小写&lt;br /&gt;数据库&lt;br /&gt;ALTER&amp;nbsp;&amp;nbsp; DATABASE&amp;nbsp;&amp;nbsp; database&amp;nbsp; &lt;br /&gt;COLLATE&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS&amp;nbsp; &lt;br /&gt;--区分大小写&lt;/p&gt;&#xD;
&lt;p&gt;ALTER&amp;nbsp;&amp;nbsp; DATABASE&amp;nbsp;&amp;nbsp; database COLLATE Chinese_PRC_CI_AS --不区分大小写&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;方法一.安装SQL时选择区分大小写&lt;br /&gt;或安装完以后重建mastar，选择区分大小&lt;br /&gt;C:\Program&amp;nbsp;&amp;nbsp; Files\Microsoft&amp;nbsp;&amp;nbsp; SQL&amp;nbsp;&amp;nbsp; Server\80\Tools\Binn\rebuildm.exe&lt;/p&gt;&#xD;
&lt;p&gt;方法二.sql&amp;nbsp;&amp;nbsp; server&amp;nbsp;&amp;nbsp; 8.0以上的版本才可以，7.0及其以下不支持&lt;br /&gt;alter&amp;nbsp;&amp;nbsp; database&amp;nbsp;&amp;nbsp; 数据库&amp;nbsp;&amp;nbsp; COLLATE&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS&lt;br /&gt;修改排序规则，改成大小写敏感的排序规则&lt;br /&gt;如果只修改一个表，用alter&amp;nbsp;&amp;nbsp; table语句&amp;nbsp; &lt;br /&gt;如果修改一个库的默认排序规则，用alter&amp;nbsp;&amp;nbsp; datebase语句&amp;nbsp; &lt;br /&gt;如果修改整个服务器的默认排序规则，用Rebuildm.exe重建master库&amp;nbsp; &lt;br /&gt;--指定排序规则就可以了&lt;/p&gt;&#xD;
&lt;p&gt;--示例&amp;nbsp; &lt;br /&gt;select&amp;nbsp;&amp;nbsp; replace('AbacB'&amp;nbsp;&amp;nbsp; collate&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS_WS,'B','test')&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;--如果你是要求表支持,则可以建表时指定排序规则,这样replace就不用写排序规则了&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;--示例&amp;nbsp; &lt;br /&gt;create&amp;nbsp;&amp;nbsp; table&amp;nbsp;&amp;nbsp; tb(a&amp;nbsp;&amp;nbsp; varchar(20)&amp;nbsp;&amp;nbsp; collate&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS_WS)&amp;nbsp; &lt;br /&gt;insert&amp;nbsp;&amp;nbsp; tb&amp;nbsp;&amp;nbsp; values('Abac')&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;select&amp;nbsp;&amp;nbsp; replace(a,'a','test')&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; tb&lt;/p&gt;&#xD;
&lt;p&gt;drop&amp;nbsp;&amp;nbsp; table&amp;nbsp;&amp;nbsp; tb&lt;/p&gt;&#xD;
&lt;p&gt;指定排序规则即可&lt;/p&gt;&#xD;
&lt;p&gt;Windows&amp;nbsp;&amp;nbsp; 排序规则名称&amp;nbsp; &lt;br /&gt;在&amp;nbsp;&amp;nbsp; COLLATE&amp;nbsp;&amp;nbsp; 子句中指定&amp;nbsp;&amp;nbsp; Windows&amp;nbsp;&amp;nbsp; 排序规则名称。Windows&amp;nbsp;&amp;nbsp; 排序规则名称由排序规则指示器和比较风格构成。&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;语法&amp;nbsp; &lt;br /&gt;&amp;lt;&amp;nbsp;&amp;nbsp; Windows_collation_name&amp;nbsp;&amp;nbsp; &amp;gt;&amp;nbsp;&amp;nbsp; ::&amp;nbsp;&amp;nbsp; =&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;CollationDesignator_ &amp;lt;ComparisonStyle&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;&amp;nbsp;&amp;nbsp; ComparisonStyle&amp;nbsp;&amp;nbsp; &amp;gt;&amp;nbsp;&amp;nbsp; ::=&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CaseSensitivity_AccentSensitivity&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [_KanatypeSensitive&amp;nbsp;&amp;nbsp; [_WidthSensitive&amp;nbsp;&amp;nbsp; ]&amp;nbsp;&amp;nbsp; ]&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; _BIN&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;参数&amp;nbsp; &lt;br /&gt;CollationDesignator&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;指定&amp;nbsp;&amp;nbsp; Windows&amp;nbsp;&amp;nbsp; 排序规则使用的基本排序规则。基本排序规则包括：&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;当指定按字典排序时应用其排序规则的字母表或语言&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;用于存储非&amp;nbsp;&amp;nbsp; Unicode&amp;nbsp;&amp;nbsp; 字符数据的代码页。&amp;nbsp; &lt;br /&gt;例如&amp;nbsp;&amp;nbsp; Latin1_General&amp;nbsp;&amp;nbsp; 或法文，两者都使用代码页&amp;nbsp;&amp;nbsp; 1252，或土耳其文，它使用代码页&amp;nbsp;&amp;nbsp; 1254。&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;CaseSensitivity&lt;/p&gt;&#xD;
&lt;p&gt;CI&amp;nbsp;&amp;nbsp; 指定不区分大小写，CS&amp;nbsp;&amp;nbsp; 指定区分大小写。&lt;/p&gt;&#xD;
&lt;p&gt;AccentSensitivity&lt;/p&gt;&#xD;
&lt;p&gt;AI&amp;nbsp;&amp;nbsp; 指定不区分重音，AS&amp;nbsp;&amp;nbsp; 指定区分重音。&lt;/p&gt;&#xD;
&lt;p&gt;KanatypeSensitive&lt;/p&gt;&#xD;
&lt;p&gt;Omitted&amp;nbsp;&amp;nbsp; 指定不区分大小写，KS&amp;nbsp;&amp;nbsp; 指定区分假名类型。&lt;/p&gt;&#xD;
&lt;p&gt;WidthSensitivity&lt;/p&gt;&#xD;
&lt;p&gt;Omitted&amp;nbsp;&amp;nbsp; 指定不区分大小写，WS&amp;nbsp;&amp;nbsp; 指定区分大小写。&lt;/p&gt;&#xD;
&lt;p&gt;BIN&lt;/p&gt;&#xD;
&lt;p&gt;指定使用二进制排序次序。&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;如果你只是目前查询区分，那么还是不要这样改，免得又反悔，如此查询：&lt;br /&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&amp;nbsp; &lt;br /&gt;/*&lt;br /&gt;a_nam&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;----------&amp;nbsp;&amp;nbsp; ----------&amp;nbsp; &lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aa&lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bb&lt;br /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cc&lt;br /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vv&lt;br /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kk&lt;br /&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dd&lt;br /&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ee&lt;br /&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dd&lt;br /&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ee&lt;br /&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yy&lt;br /&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yy&lt;/p&gt;&#xD;
&lt;p&gt;(11&amp;nbsp;&amp;nbsp; row(s)&amp;nbsp;&amp;nbsp; affected)&lt;br /&gt;*/&lt;br /&gt;现在我们查询a_add&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; 'aa'的，'Aa'等等不行！&lt;br /&gt;Example&amp;nbsp;&amp;nbsp; 1：&lt;/p&gt;&#xD;
&lt;p&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&amp;nbsp; &lt;br /&gt;where&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp; collate&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS_WS&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; 'aa'&amp;nbsp; &lt;br /&gt;/*&lt;br /&gt;a_nam&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;----------&amp;nbsp;&amp;nbsp; ----------&amp;nbsp; &lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aa&lt;/p&gt;&#xD;
&lt;p&gt;(1&amp;nbsp;&amp;nbsp; row(s)&amp;nbsp;&amp;nbsp; affected)&lt;br /&gt;*/&lt;/p&gt;&#xD;
&lt;p&gt;Example&amp;nbsp;&amp;nbsp; 2：&lt;/p&gt;&#xD;
&lt;p&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&amp;nbsp; &lt;br /&gt;where&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp; collate&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS_WS&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; 'Aa'&amp;nbsp; &lt;br /&gt;/*&lt;br /&gt;a_nam&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;----------&amp;nbsp;&amp;nbsp; ----------&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;(0&amp;nbsp;&amp;nbsp; row(s)&amp;nbsp;&amp;nbsp; affected)&lt;br /&gt;*/&lt;/p&gt;&#xD;
&lt;p&gt;方法三.上面的记不住，那么就用最笨的方法，转化为ascii&lt;br /&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&lt;br /&gt;where&amp;nbsp; &lt;br /&gt;ascii(substring(a_add,1,1))&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; ascii(substring('Aa',1,1))&lt;br /&gt;and&amp;nbsp; &lt;br /&gt;ascii(substring(a_add,2,1))&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; ascii(substring('Aa',2,1))&lt;br /&gt;/*&lt;br /&gt;a_nam&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;----------&amp;nbsp;&amp;nbsp; ----------&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;(0&amp;nbsp;&amp;nbsp; row(s)&amp;nbsp;&amp;nbsp; affected)&lt;br /&gt;*/&lt;/p&gt;&#xD;
&lt;p&gt;方法三：任何版本都可以&lt;br /&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&amp;nbsp; &lt;br /&gt;where&amp;nbsp;&amp;nbsp; cast(a_add&amp;nbsp;&amp;nbsp; as&amp;nbsp;&amp;nbsp; varbinary(10))=&amp;nbsp;&amp;nbsp; cast('aa'&amp;nbsp;&amp;nbsp; as&amp;nbsp;&amp;nbsp; varbinary(10)) &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1.sp_helpsort &lt;br /&gt;SELECT SERVERPROPERTY ('Collation') &lt;br /&gt;查看你的排序规则. &lt;br /&gt;不过你的这个应该和字符集有关.&lt;/p&gt;&#xD;
&lt;p&gt;2.更改服务器排序规则 &lt;br /&gt;更改 SQL Server 2005 实例的默认排序规则的操作可能会比较复杂，包括以下步骤： &lt;/p&gt;&#xD;
&lt;p&gt;确保具有重新创建用户数据库及这些数据库中的所有对象所需的全部信息或脚本。 &lt;br /&gt;使用工具（例如大容量复制）导出所有数据。 &lt;br /&gt;删除所有用户数据库。 &lt;br /&gt;重新生成在 setup 命令的 SQLCOLLATION 属性中指定新的排序规则的 master 数据库。例如： &lt;br /&gt;复制代码 &lt;br /&gt;start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=SQL_Latin1_General_CP1_CI_AI &lt;br /&gt;有关重新生成 master 数据库的详细信息，请参阅如何重新生成 SQL Server 2005 的 Master 数据库。 &lt;br /&gt;创建所有数据库及这些数据库中的所有对象。 &lt;br /&gt;导入所有数据。 &lt;br /&gt;注意：&amp;nbsp; &lt;br /&gt;可以为创建的每个新数据库指定默认排序规则，而不更改 SQL Server 2005 实例的默认排序规则。 &lt;/p&gt;&#xD;
&lt;p&gt;3.设置和更改数据库排序规则 &lt;br /&gt;创建新数据库时，可以使用下列内容之一指定排序规则： &lt;br /&gt;CREATE DATABASE 语句的 COLLATE 子句。 &lt;br /&gt;SQL Server Management Studio. &lt;br /&gt;SQL 管理对象 (SMO) 中的 Database.Collation 属性。 &lt;br /&gt;如果未指定排序规则，则使用服务器排序规则。 &lt;br /&gt;可以使用 ALTER DATABASE 语句的 COLLATE 子句来更改在用户数据库中创建的任何新对象的排序规则。使用此语句不能更改任何现有用户定义的表中列的排序规则。使用 ALTER TABLE 的 COLLATE 子句可以更改这些列的排序规则。 &lt;br /&gt;更改数据库排序规则时，需要更改下列内容： &lt;br /&gt;数据库的默认排序规则，这一新的默认排序规则将应用于数据库中后续创建的所有列、用户定义的数据类型、变量和参数。根据数据库中定义的对象解析 SQL 语句中指定的对象标识符时，也使用新的默认排序规则。 &lt;br /&gt;将系统表中的任何 char、varchar、text、nchar、nvarchar 或 ntext 列更改为使用新的排序规则。 &lt;br /&gt;将存储过程和用户定义函数的所有现有 char、varchar、text、nchar、nvarchar 或 ntext 参数和标量返回值更改为使用新的排序规则。 &lt;br /&gt;将 char、varchar、text、nchar、nvarchar 或 ntext 系统数据类型和基于这些系统数据类型的所有用户定义的数据类型更改为使用新的默认排序规则。 &lt;/p&gt;&#xD;
&lt;p&gt;SQL code :&lt;/p&gt;&#xD;
&lt;p&gt;1.将数据库的字符集修改为：&lt;br /&gt;alter database dbname collate Chinese_PRC_CI_AS&lt;/p&gt;&#xD;
&lt;p&gt;2.&lt;/p&gt;&#xD;
&lt;p&gt;--1. 为数据库指定排序规则&lt;br /&gt;CREATE DATABASE db COLLATE Chinese_PRC_CI_AS&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;ALTER DATABASE db COLLATE Chinese_PRC_BIN&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;/*====================================*/&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;--2. 为表中的列指定排序规则&lt;br /&gt;CREATE TABLE tb(&lt;br /&gt;col1 varchar(10),&lt;br /&gt;col2 varchar(10) COLLATE Chinese_PRC_CI_AS)&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;ALTER TABLE tb ADD col3 varchar(10) COLLATE Chinese_PRC_BIN&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;ALTER TABLE tb ALTER COLUMN col2 varchar(10) COLLATE Chinese_PRC_BIN&lt;br /&gt;GO&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;/*====================================*/&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;--3. 为字符变量和参数应用排序规则&lt;br /&gt;DECLARE @a varchar(10),@b varchar(10)&lt;br /&gt;SELECT @a='a',@b='A'&lt;/p&gt;&#xD;
&lt;p&gt;--使用排序规则 Chinese_PRC_CI_AS&lt;br /&gt;SELECT CASE WHEN @a COLLATE Chinese_PRC_CI_AS = @b THEN &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#39;&amp;#64;&amp;#97;&amp;#61;&amp;#64;&amp;#98;&amp;#39;"&gt;'@a=@b'&lt;/a&gt; ELSE &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#39;&amp;#64;&amp;#97;&amp;#37;&amp;#51;&amp;#67;&amp;#37;&amp;#51;&amp;#69;&amp;#64;&amp;#98;&amp;#39;"&gt;mailto:'@a%3C%3E@b'&lt;/a&gt; END&lt;br /&gt;--结果:@a=@b&lt;/p&gt;&#xD;
&lt;p&gt;--使用排序规则 Chinese_PRC_BIN&lt;br /&gt;SELECT CASE WHEN @a COLLATE Chinese_PRC_BIN = @b THEN &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#39;&amp;#64;&amp;#97;&amp;#61;&amp;#64;&amp;#98;&amp;#39;"&gt;'@a=@b'&lt;/a&gt; ELSE &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#39;&amp;#64;&amp;#97;&amp;#37;&amp;#51;&amp;#67;&amp;#37;&amp;#51;&amp;#69;&amp;#64;&amp;#98;&amp;#39;"&gt;mailto:'@a%3C%3E@b'&lt;/a&gt; END&lt;br /&gt;--结果:@a&amp;lt;&amp;gt;@b&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;3.&lt;br /&gt;表&lt;br /&gt;ALTER&amp;nbsp;&amp;nbsp; TABLE&amp;nbsp;&amp;nbsp; tb&lt;br /&gt;&amp;nbsp; ALTER&amp;nbsp;&amp;nbsp; COLUMN&amp;nbsp;&amp;nbsp; colname&amp;nbsp;&amp;nbsp; nvarchar(100)&amp;nbsp;&amp;nbsp; COLLATE&amp;nbsp;&amp;nbsp; Chinese_PRC_CI_AS&amp;nbsp; &lt;br /&gt;--不区分大小写&lt;br /&gt;ALTER&amp;nbsp;&amp;nbsp; TABLE&amp;nbsp;&amp;nbsp; tb&amp;nbsp; &lt;br /&gt;&amp;nbsp; ALTER&amp;nbsp;&amp;nbsp; COLUMN&amp;nbsp;&amp;nbsp; colname&amp;nbsp;&amp;nbsp; nvarchar(100)&amp;nbsp;&amp;nbsp; COLLATE&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS&amp;nbsp; &lt;br /&gt;--区分大小写&lt;br /&gt;数据库&lt;br /&gt;ALTER&amp;nbsp;&amp;nbsp; DATABASE&amp;nbsp;&amp;nbsp; database&amp;nbsp; &lt;br /&gt;COLLATE&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS&amp;nbsp; &lt;br /&gt;--区分大小写&lt;/p&gt;&#xD;
&lt;p&gt;ALTER&amp;nbsp;&amp;nbsp; DATABASE&amp;nbsp;&amp;nbsp; database COLLATE Chinese_PRC_CI_AS --不区分大小写&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;方法一.安装SQL时选择区分大小写&lt;br /&gt;或安装完以后重建mastar，选择区分大小&lt;br /&gt;C:\Program&amp;nbsp;&amp;nbsp; Files\Microsoft&amp;nbsp;&amp;nbsp; SQL&amp;nbsp;&amp;nbsp; Server\80\Tools\Binn\rebuildm.exe&lt;/p&gt;&#xD;
&lt;p&gt;方法二.sql&amp;nbsp;&amp;nbsp; server&amp;nbsp;&amp;nbsp; 8.0以上的版本才可以，7.0及其以下不支持&lt;br /&gt;alter&amp;nbsp;&amp;nbsp; database&amp;nbsp;&amp;nbsp; 数据库&amp;nbsp;&amp;nbsp; COLLATE&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS&lt;br /&gt;修改排序规则，改成大小写敏感的排序规则&lt;br /&gt;如果只修改一个表，用alter&amp;nbsp;&amp;nbsp; table语句&amp;nbsp; &lt;br /&gt;如果修改一个库的默认排序规则，用alter&amp;nbsp;&amp;nbsp; datebase语句&amp;nbsp; &lt;br /&gt;如果修改整个服务器的默认排序规则，用Rebuildm.exe重建master库&amp;nbsp; &lt;br /&gt;--指定排序规则就可以了&lt;/p&gt;&#xD;
&lt;p&gt;--示例&amp;nbsp; &lt;br /&gt;select&amp;nbsp;&amp;nbsp; replace('AbacB'&amp;nbsp;&amp;nbsp; collate&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS_WS,'B','test')&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;--如果你是要求表支持,则可以建表时指定排序规则,这样replace就不用写排序规则了&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;--示例&amp;nbsp; &lt;br /&gt;create&amp;nbsp;&amp;nbsp; table&amp;nbsp;&amp;nbsp; tb(a&amp;nbsp;&amp;nbsp; varchar(20)&amp;nbsp;&amp;nbsp; collate&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS_WS)&amp;nbsp; &lt;br /&gt;insert&amp;nbsp;&amp;nbsp; tb&amp;nbsp;&amp;nbsp; values('Abac')&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;select&amp;nbsp;&amp;nbsp; replace(a,'a','test')&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; tb&lt;/p&gt;&#xD;
&lt;p&gt;drop&amp;nbsp;&amp;nbsp; table&amp;nbsp;&amp;nbsp; tb&lt;/p&gt;&#xD;
&lt;p&gt;指定排序规则即可&lt;/p&gt;&#xD;
&lt;p&gt;Windows&amp;nbsp;&amp;nbsp; 排序规则名称&amp;nbsp; &lt;br /&gt;在&amp;nbsp;&amp;nbsp; COLLATE&amp;nbsp;&amp;nbsp; 子句中指定&amp;nbsp;&amp;nbsp; Windows&amp;nbsp;&amp;nbsp; 排序规则名称。Windows&amp;nbsp;&amp;nbsp; 排序规则名称由排序规则指示器和比较风格构成。&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;语法&amp;nbsp; &lt;br /&gt;&amp;lt;&amp;nbsp;&amp;nbsp; Windows_collation_name&amp;nbsp;&amp;nbsp; &amp;gt;&amp;nbsp;&amp;nbsp; ::&amp;nbsp;&amp;nbsp; =&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;CollationDesignator_ &amp;lt;ComparisonStyle&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;lt;&amp;nbsp;&amp;nbsp; ComparisonStyle&amp;nbsp;&amp;nbsp; &amp;gt;&amp;nbsp;&amp;nbsp; ::=&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CaseSensitivity_AccentSensitivity&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [_KanatypeSensitive&amp;nbsp;&amp;nbsp; [_WidthSensitive&amp;nbsp;&amp;nbsp; ]&amp;nbsp;&amp;nbsp; ]&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; _BIN&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;参数&amp;nbsp; &lt;br /&gt;CollationDesignator&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;指定&amp;nbsp;&amp;nbsp; Windows&amp;nbsp;&amp;nbsp; 排序规则使用的基本排序规则。基本排序规则包括：&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;当指定按字典排序时应用其排序规则的字母表或语言&lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;用于存储非&amp;nbsp;&amp;nbsp; Unicode&amp;nbsp;&amp;nbsp; 字符数据的代码页。&amp;nbsp; &lt;br /&gt;例如&amp;nbsp;&amp;nbsp; Latin1_General&amp;nbsp;&amp;nbsp; 或法文，两者都使用代码页&amp;nbsp;&amp;nbsp; 1252，或土耳其文，它使用代码页&amp;nbsp;&amp;nbsp; 1254。&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;CaseSensitivity&lt;/p&gt;&#xD;
&lt;p&gt;CI&amp;nbsp;&amp;nbsp; 指定不区分大小写，CS&amp;nbsp;&amp;nbsp; 指定区分大小写。&lt;/p&gt;&#xD;
&lt;p&gt;AccentSensitivity&lt;/p&gt;&#xD;
&lt;p&gt;AI&amp;nbsp;&amp;nbsp; 指定不区分重音，AS&amp;nbsp;&amp;nbsp; 指定区分重音。&lt;/p&gt;&#xD;
&lt;p&gt;KanatypeSensitive&lt;/p&gt;&#xD;
&lt;p&gt;Omitted&amp;nbsp;&amp;nbsp; 指定不区分大小写，KS&amp;nbsp;&amp;nbsp; 指定区分假名类型。&lt;/p&gt;&#xD;
&lt;p&gt;WidthSensitivity&lt;/p&gt;&#xD;
&lt;p&gt;Omitted&amp;nbsp;&amp;nbsp; 指定不区分大小写，WS&amp;nbsp;&amp;nbsp; 指定区分大小写。&lt;/p&gt;&#xD;
&lt;p&gt;BIN&lt;/p&gt;&#xD;
&lt;p&gt;指定使用二进制排序次序。&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;如果你只是目前查询区分，那么还是不要这样改，免得又反悔，如此查询：&lt;br /&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&amp;nbsp; &lt;br /&gt;/*&lt;br /&gt;a_nam&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;----------&amp;nbsp;&amp;nbsp; ----------&amp;nbsp; &lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aa&lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bb&lt;br /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cc&lt;br /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vv&lt;br /&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kk&lt;br /&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dd&lt;br /&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ee&lt;br /&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dd&lt;br /&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ee&lt;br /&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yy&lt;br /&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yy&lt;/p&gt;&#xD;
&lt;p&gt;(11&amp;nbsp;&amp;nbsp; row(s)&amp;nbsp;&amp;nbsp; affected)&lt;br /&gt;*/&lt;br /&gt;现在我们查询a_add&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; 'aa'的，'Aa'等等不行！&lt;br /&gt;Example&amp;nbsp;&amp;nbsp; 1：&lt;/p&gt;&#xD;
&lt;p&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&amp;nbsp; &lt;br /&gt;where&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp; collate&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS_WS&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; 'aa'&amp;nbsp; &lt;br /&gt;/*&lt;br /&gt;a_nam&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;----------&amp;nbsp;&amp;nbsp; ----------&amp;nbsp; &lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; aa&lt;/p&gt;&#xD;
&lt;p&gt;(1&amp;nbsp;&amp;nbsp; row(s)&amp;nbsp;&amp;nbsp; affected)&lt;br /&gt;*/&lt;/p&gt;&#xD;
&lt;p&gt;Example&amp;nbsp;&amp;nbsp; 2：&lt;/p&gt;&#xD;
&lt;p&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&amp;nbsp; &lt;br /&gt;where&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp; collate&amp;nbsp;&amp;nbsp; Chinese_PRC_CS_AS_WS&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; 'Aa'&amp;nbsp; &lt;br /&gt;/*&lt;br /&gt;a_nam&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;----------&amp;nbsp;&amp;nbsp; ----------&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;(0&amp;nbsp;&amp;nbsp; row(s)&amp;nbsp;&amp;nbsp; affected)&lt;br /&gt;*/&lt;/p&gt;&#xD;
&lt;p&gt;方法三.上面的记不住，那么就用最笨的方法，转化为ascii&lt;br /&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&lt;br /&gt;where&amp;nbsp; &lt;br /&gt;ascii(substring(a_add,1,1))&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; ascii(substring('Aa',1,1))&lt;br /&gt;and&amp;nbsp; &lt;br /&gt;ascii(substring(a_add,2,1))&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; ascii(substring('Aa',2,1))&lt;br /&gt;/*&lt;br /&gt;a_nam&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a_add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;----------&amp;nbsp;&amp;nbsp; ----------&amp;nbsp; &lt;/p&gt;&#xD;
&lt;p&gt;(0&amp;nbsp;&amp;nbsp; row(s)&amp;nbsp;&amp;nbsp; affected)&lt;br /&gt;*/&lt;/p&gt;&#xD;
&lt;p&gt;方法三：任何版本都可以&lt;br /&gt;select&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; from&amp;nbsp;&amp;nbsp; a&amp;nbsp; &lt;br /&gt;where&amp;nbsp;&amp;nbsp; cast(a_add&amp;nbsp;&amp;nbsp; as&amp;nbsp;&amp;nbsp; varbinary(10))=&amp;nbsp;&amp;nbsp; cast('aa'&amp;nbsp;&amp;nbsp; as&amp;nbsp;&amp;nbsp; varbinary(10)) &lt;/p&gt;&#xD;
&lt;p&gt;&lt;br /&gt;alter database BPM2010 set single_user with rollback immediate ;&lt;br /&gt;go&lt;br /&gt;alter database BPM2010 collate Chinese_PRC_CI_AS ;&lt;br /&gt;go&lt;br /&gt;alter database BPM2010 set multi_user;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2251069.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/11/16/2251069.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/11/10/2244565.html</id><title type="text">AD管理维护与排错工具</title><summary type="text">工具名称：DcDiag工具出处：MS Support Tools工具类型：命令行工具当前环境：Win2003 SP1 + R2,DC主要功能： DcDiag是域控制器诊断工具，通过各种诊断测试，用来分析当前林或域中域控制器状态，生成相应的检测报告。DcDiag可以说是域控制器诊断全能工具，当DC出现问题却无法判断具体故障原因时，首选使用DcDiag工具对DC进行一次全面诊断，查看检测报告，从而缩小问题范围以及定位问题! DcDiag工具由对系统的一系列测试和校验构成，可以根据用户的选择，针对不同的范围（林，域）对域控制器进行不同项目的诊断测试，主要测试项目有： 1：连通性 2：复制 ...</summary><published>2011-11-10T07:52:00Z</published><updated>2011-11-10T07:52:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/11/10/2244565.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/11/10/2244565.html"/><content type="html">&lt;p&gt;工具名称：DcDiag&lt;br /&gt;工具出处：MS Support Tools&lt;br /&gt;工具类型：命令行工具&lt;br /&gt;当前环境：Win2003 SP1 + R2,DC&lt;br /&gt;主要功能：&lt;br /&gt;　　DcDiag是域控制器诊断工具，通过各种诊断测试，用来分析当前林或域中域控制器状态，生成相应的检测报告。DcDiag可以说是域控制器诊断全能工具，当DC出现问题却无法判断具体故障原因时，首选使用DcDiag工具对DC进行一次全面诊断，查看检测报告，从而缩小问题范围以及定位问题!&lt;br /&gt;　　DcDiag工具由对系统的一系列测试和校验构成，可以根据用户的选择，针对不同的范围（林，域）对域控制器进行不同项目的诊断测试，主要测试项目有：&lt;br /&gt;　　1：连通性&lt;br /&gt;　　2：复制&lt;br /&gt;　　3：拓朴完整性&lt;br /&gt;　　4：检查NC Head安全描述符&lt;br /&gt;　　5：检查登录权&lt;br /&gt;　　6：获取DC位置&lt;br /&gt;　　7：验证安全边界&lt;br /&gt;　　8：验证FSMO角色&lt;br /&gt;　　9：验证信任关系&lt;br /&gt;　　10：DNS&lt;/p&gt;&#xD;
&lt;p&gt;一：DcDiag工具语法格式&lt;br /&gt;　　DcDiag.exe /s:&lt;domain Controller&gt; [/u:&lt;domain&gt;\&lt;username&gt; /p:*|&lt;password&gt;|""]&lt;br /&gt;[/hqv] [/n:&lt;naming Context&gt;] [/f:&lt;log&gt;] [/ferr:&lt;errlog&gt;]&lt;br /&gt;[/skip:&lt;test&gt;] [/test:&lt;test&gt;]&lt;/p&gt;&#xD;
&lt;p&gt;二：主要参数说明：&lt;br /&gt;　　/s:Domain Controller &amp;#8211; 指定测试的DC，默认测试本机。&lt;br /&gt;　　/n:Naming Context &amp;#8211; 指定测试时关联的名称上下文。似乎只能使用域名称上下文，无法测试Schema,Configration等名称上下文。&lt;br /&gt;　　　　　　　　　　 域名称上下文可以使用域的DNS名称，NetBios名称或DN名称。&lt;br /&gt;　　/u:Domain\Username /p: &amp;#8211; 用指定的帐号密码连接DC，此时该帐号的密码为显示密码。&lt;br /&gt;　　 如：DcDiag /u:superlan.vmtest.com\administrator /p:1qa2ws3ed&lt;br /&gt;/a &amp;#8211; 测试当前站点所有DC&lt;br /&gt;　　/e &amp;#8211; 测试整个企业(整个林)中所有DC的状况&lt;br /&gt;　　/q &amp;#8211; 只显示错误信息&lt;br /&gt;/v &amp;#8211; 显示详细检测报告　&lt;br /&gt;　　/i &amp;#8211; 忽略多余的错误信息&lt;br /&gt;/fix &amp;#8211; 仅对 MachineAccount 测试有影响。此参数会使测试过程对目录服务器的计算机帐户对象上的服务主体名称 (SPN) 进行修复&lt;br /&gt;/f &amp;#8211; 将信息报告输出到指定的文件&lt;br /&gt;　　/ferr &amp;#8211; 将致命错误输出重定向指定的文件&lt;br /&gt;/c &amp;#8211; 诊断除 DcPromo 和 RegisterInDNS 之外的所有测试项目，包括非默认的测试。&lt;br /&gt;　 　　非默认测试项包括：拓扑，对方服务器是否关闭，安全通道输出范围以及DNS动态注册等。&lt;br /&gt;　　/skip:Test -　指定不进行诊断的测试项，必须与/c配合使用。&lt;br /&gt;　　/test:Test &amp;#8211; 只运行单一测试项，但连通测试不跳过&lt;br /&gt;　　　　　具体测试项有：&lt;br /&gt;　　　　　　　Connectivity &amp;#8211; 连通性。测试DC是否在DNS中登记注册，Ping测试以及LDAP/RPC的可用性。&lt;br /&gt;　　　　　　　Replications &amp;#8211; 检测DC之间的复制情况&lt;br /&gt;　　　　　　　Topology &amp;#8211; 检查KCC是否为所有DC生成完整的链接拓扑&lt;br /&gt;　　　　　　　CutoffServers &amp;#8211; 检查因复制伙伴不可用而没有接受到的复制的DC&lt;br /&gt;　　　　　　　NCSecDesc &amp;#8211; 检查在名称上下文头中的安全描述符是否有适当的复制权限&lt;br /&gt;　　　　　　　NetLogon &amp;#8211; 检查是否有进行复制的适当登录权限&lt;br /&gt;　　　　　　　Advertising －　检查每个DC是否已公告它自己能够执行的角色。如果 Net Logon 服务停止或未能启动，则此测试将失败。&lt;br /&gt;　　　　　　　KnowsOfRoleHolders － 检查DC是否可以与FSMO操作主机正常联系&lt;br /&gt;　　　　　　　Intersite &amp;#8211; 检查会阻止或暂时中止站点间复制的故障，并尝试预测 KCC 能够恢复之前需要的时间。&lt;br /&gt;　　　　　　　FSMOCheck &amp;#8211; 检查DC是否能联系密钥发行中心 (KDC)、时间服务器、首选时间服务器、主目录服务器（主域控制器 (PDC)）和全局编录服务器。&lt;br /&gt;　　　　　　　RidManager &amp;#8211; 检查是否可访问 RID 主机，以及 RID 主机是否包含正确的信息。&lt;br /&gt;MachineAccount － 检查机器的帐户是否包含正确信息。&lt;br /&gt;　　　　　　　　　　　　　　　　如果本地计算机帐号丢失，使用/RecreateMachineAccount进行尝试修复&lt;br /&gt;　　　　　　　　　　　　　　　　如果本地计算机帐号标志不正确，使用/FixMachineAccount进行尝试修复&lt;br /&gt;Services &amp;#8211; 检查DC服务是否在运行正常&lt;br /&gt;OutboundSecureChannels 检查当前域中所有DC的安全通道。&lt;br /&gt;　　　　　　　ObjectsReplicated &amp;#8211; 检查 Machine Account 和 DSA 对象是否已复制&lt;br /&gt;frssysvol &amp;#8211; 检查SYSVOL文件夹共享状态。&lt;br /&gt;　　　　　　　frsevent &amp;#8211; 检查FRS是否存在错误记录&lt;br /&gt;　　　　　　　kccevent &amp;#8211; 检查 KCC是否存在错误记录。&lt;br /&gt;systemlog &amp;#8211; 检查系统是否无错误运行。&lt;br /&gt;DCPromo &amp;#8211; 检查DC上的DNS记录是否正常&lt;br /&gt;　　　　　　　RegisterInDNS &amp;#8211; 检查DC是否在DNS中注册&lt;br /&gt;　　　　　　　CrossRefValidation &amp;#8211; 检查交叉引用是否有效&lt;br /&gt;　CheckSDRefDom &amp;#8211; 检查目录分区的安全&lt;br /&gt;VerifyReplicas &amp;#8211; 检查复制服务器上目录分区的安全性&lt;br /&gt;　　　　　　　VerifyReference &amp;#8211; 检查对于 FRS 和&amp;#8220;复制&amp;#8221;基础结构系统参数的正确与完整性&lt;br /&gt;VerifyEnterpriseReferences &amp;#8211; 检查整个企业范围内的所有DC上系统参数是否正确与完整&lt;/p&gt;&#xD;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;/p&gt;&#xD;
&lt;p&gt;(Win2003 SP1新增功能)&lt;br /&gt;CheckSecurityError &amp;#8211; 检测可能会造成AD复制失败的安全配置&lt;br /&gt;DNS &amp;#8211; 检查整个企业内的DNS健康性。&lt;br /&gt;DNS测试子项有：&lt;br /&gt;/DnsBasic &amp;#8211; 基本DNS测试，包括网络连接性、DNS客户端配置、服务可用性和区域存在性。&lt;br /&gt;/DnsForwarders &amp;#8211; /DnsBasic 测试，还检查转发器的配置&lt;br /&gt;/DnsDelegation &amp;#8211; /DnsBasic 测试，还检查委派配置&lt;br /&gt;/DnsDynamicUpdate &amp;#8211; /DnsBasic测试,还检查是否配置动态更新&lt;br /&gt;/DnsRecordRegistration &amp;#8211; /DnsBasic测试,检查是否已注册A、CNAME和已知的SRV记录。此外，还根据结果创建清单报告&lt;br /&gt;/DnsResolveExtName &amp;#8211; /DnsBasic测试，还尝试解析指定的域名名称.&lt;br /&gt;/DnsInternetName &amp;#8211; /DnsBasic测试，还尝试解析指定域名&lt;br /&gt;/DnsAll &amp;#8211; 除了/DnsResolveExtName外的所有DNS测试项&lt;/p&gt;&#xD;
&lt;p&gt;三：使用示例&lt;br /&gt;DcDiag参数众多，且可以组合使用，下面只给出基本的使用示例，对用法做一简单描述。&lt;br /&gt;1：最简单的用法,诊断当前DC状况&lt;br /&gt;&amp;gt;DcDiag&lt;/p&gt;&#xD;
&lt;p&gt;2：测试当前DC的连通性&lt;br /&gt;&amp;gt;dcdiag /s:vmtest /test:connetivity &lt;/p&gt;&#xD;
&lt;p&gt;3：测试整个林拓扑结构&lt;br /&gt;&amp;gt;dcdiag /e /test:Topology&lt;/p&gt;&#xD;
&lt;p&gt;4：DCPromo参数用法。注：DcPromo主要是当使用AD安装向导或通过DCPromo命令安装AD出错时使用&lt;br /&gt;测试是否可以在当前服务器上新建一个林&lt;br /&gt;&amp;gt;dcdiag /test:dcpromo /dnsdomain:vmtest.com /newforest&lt;/p&gt;&#xD;
&lt;p&gt;测试是否可以在当前服务器上新建树 &amp;gt;dcdiag /test:DCpromo /dnsdomain:vmtest.com /newtree /forestRoot:vmtest.com&lt;/p&gt;&#xD;
&lt;p&gt;测试是否可以在当前服务器上新建子域&lt;br /&gt;&amp;gt;dcdiag /test:dcpromo /dnsdomain:vmtest.com /childDomain&lt;/p&gt;&#xD;
&lt;p&gt;测试是否可以在当前服务器上安装辅助DC&lt;br /&gt;&amp;gt;dcdiag /test:dcpromo /dnsdomain:vmtest.com /ReplicaDC &lt;/p&gt;&#xD;
&lt;p&gt;5：测试DC是否在DNS中注册&lt;br /&gt;&amp;gt;Dcdiag /v /test:RegisterInDns /Dnsdomain:vmtest.com&lt;/p&gt;&#xD;
&lt;p&gt;6：DNS诊断&lt;br /&gt;最简单用法,测试除/DnsResolveExtName之外的六项子测试&lt;br /&gt;&amp;gt;dcdiag /test:dns&lt;br /&gt;基本测试：执行基本 DNS 测试，包括网络连接性、DNS 客户端配置、服务可用性和区域存在性&lt;br /&gt;&amp;gt;dcdiag /test:dns /DnsBasic&lt;/p&gt;&#xD;
&lt;p&gt;测试DnsBasic和转发器&lt;br /&gt;&amp;gt;dcdiag /v /test:dns /dnsForwarders&lt;/p&gt;&#xD;
&lt;p&gt;测试DnsBasic和解析指定的域名&lt;br /&gt;&amp;gt;Dcdiag /v /test:dns /dnsinternetname:[url]www.baidu.com[/url]&lt;/p&gt;&#xD;
&lt;p&gt;四：一个完整的DcDiag诊断信息注解&lt;br /&gt;参考链接：[url]http://hi.baidu.com/maxhan/blog/item/783ccafceb979d87b901a0c5.html[/url]&lt;/p&gt;&#xD;
&lt;p&gt;五：参考资料&lt;br /&gt;[url]http://technet2.microsoft.com/windowsserver/zh-chs/library/5237db58-a1e8-40cd-ae8a-7f52848a90f22052.mspx?mfr=true[/url]&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2244565.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/11/10/2244565.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/11/07/2238789.html</id><title type="text">50个必备的实用jQuery代码段[转]</title><summary type="text">1. 如何创建嵌套的过滤器：//允许你减少集合中的匹配元素的过滤器， //只剩下那些与给定的选择器匹配的部分。在这种情况下， //查询删除了任何没（:not）有（:has） //包含class为“selected”（.selected）的子节点。 .filter(&amp;quot;:not(:has(.selected))&amp;quot;)2. 如何重用元素搜索varallItems=$(&amp;quot;div.item&amp;quot;); varkeepList=$(&amp;quot;div#container1div.item&amp;quot;); //现在你可以继续使用这些jQuery对象来工作了。例如， //基于复</summary><published>2011-11-07T00:47:00Z</published><updated>2011-11-07T00:47:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/11/07/2238789.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/11/07/2238789.html"/><content type="html">&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1. 如何创建嵌套的过滤器：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//允许你减少集合中的匹配元素的过滤器， &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//只剩下那些与给定的选择器匹配的部分。在这种情况下， &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//查询删除了任何没（:not）有（:has） &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//包含class为&amp;#8220;selected&amp;#8221;（.selected）的子节点。 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;.filter(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;":not(:has(.selected))"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;2. 如何重用元素搜索&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;allItems&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"div.item"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;keepList&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"div#container1&amp;nbsp;div.item"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//现在你可以继续使用这些jQuery对象来工作了。例如， &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//基于复选框裁剪&amp;#8220;keep&amp;nbsp;list&amp;#8221;，复选框的名称 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//符合 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;lt;&amp;nbsp;DIV&amp;nbsp;&amp;gt;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;class&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;names: &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(formToLookAt&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"&amp;nbsp;input:checked"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).each(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keepList&amp;nbsp;=&amp;nbsp;keepList.filter(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"."&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"name"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;lt;&amp;nbsp;/DIV&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;3. 任何使用has()来检查某个元素是否包含某个类或是元素：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//jQuery&amp;nbsp;1.4.*包含了对这一has方法的支持。该方法找出 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//某个元素是否包含了其他另一个元素类或是其他任何的 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//你正在查找并要在其之上进行操作的东东。 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"input"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).has(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;".email"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).addClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"email_icon"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;4. 如何使用jQuery来切换样式表&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//找出你希望切换的媒体类型（media-type），然后把href设置成新的样式表。 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'link[media='&lt;/font&gt;&lt;/span&gt;&lt;span&gt;screen&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;']'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'href'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'Alternative.css'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;5. 如何限制选择范围（基于优化目的）：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//尽可能使用标签名来作为类名的前缀， &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//这样jQuery就不需要花费更多的时间来搜索 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//你想要的元素。还要记住的一点是， &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//针对于你的页面上的元素的操作越具体化， &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//就越能降低执行和搜索的时间。 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;in_stock&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#shopping_cart_items&amp;nbsp;input.is_in_stock'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;font color="#000000"&gt;&amp;lt;ul id="shopping_cart_items"&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;input type="radio" value="Item-X" name="item"  /&amp;gt; Item X&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;input type="radio" value="Item-Y" name="item"  /&amp;gt; Item Y&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;li&amp;gt;&amp;lt;input type="radio" value="Item-Z" name="item"  /&amp;gt; Item Z&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;6. 如何正确地使用ToggleClass：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//切换（toggle）类允许你根据某个类的 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//是否存在来添加或是删除该类。 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//这种情况下有些开发者使用： &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;a.hasClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'blueButton'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;?&amp;nbsp;a.removeClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'blueButton'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;:&amp;nbsp;a.addClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'blueButton'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//toggleClass允许你使用下面的语句来很容易地做到这一点 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;a.toggleClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'blueButton'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;7. 如何设置IE特有的功能：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;($.browser.msie)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;Internet&amp;nbsp;Explorer就是个虐待狂 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;8. 如何使用jQuery来代替一个元素：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#thatdiv'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).replaceWith(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'fnuh'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;9. 如何验证某个元素是否为空：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;($(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#keks'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).html())&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//什么都没有找到; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;10. 如何从一个未排序的集合中找出某个元素的索引号&lt;/p&gt;&#xD;
&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"ul&amp;nbsp;&amp;gt;&amp;nbsp;li"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).click(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;index&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).prevAll().length; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&#xD;
&lt;p &gt;&lt;span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;11. 如何把函数绑定到事件上：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#foo'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).bind(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'click'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'User&amp;nbsp;clicked&amp;nbsp;on&amp;nbsp;"foo."'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;12. 如何追加或是添加html到元素中：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#lal'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).append(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'sometext'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;13. 在创建元素时，如何使用对象字面量（literal）来定义属性&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;e&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;""&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;{&amp;nbsp;href:&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"#"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;class&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;:&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"a-class&amp;nbsp;another-class"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;title:&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"..."&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;14. 如何使用多个属性来进行过滤&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//在使用许多相类似的有着不同类型的input元素时， &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//这种基于精确度的方法很有用 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;elements&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#someid&amp;nbsp;input[type=sometype][value=somevalue]'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).get();&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;15. 如何使用jQuery来预加载图像：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;jQuery.preloadImages&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;for&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;arguments.length;&amp;nbsp;i++)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"&amp;lt;img&amp;nbsp;/&amp;gt;"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'src'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;arguments[i]); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//用法 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$.preloadImages(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'image1.gif'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'/path/to/image2.png'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'some/image3.jpg'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;16. 如何为任何与选择器相匹配的元素设置事件处理程序：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'button.someClass'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).live(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'click'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;someFunction); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//注意，在jQuery&amp;nbsp;1.4.2中，delegate和undelegate选项 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//被引入代替live，因为它们提供了更好的上下文支持 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//例如，就table来说，以前你会用 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//.live() &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"table"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).each(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"td"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).live(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"hover"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).toggleClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"hover"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//现在用 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"table"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).delegate(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"td"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"hover"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).toggleClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"hover"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;17. 如何找到一个已经被选中的option元素：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#someElement'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).find(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'option:selected'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;18. 如何隐藏一个包含了某个值文本的元素：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"p.value:contains('thetextvalue')"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).hide();&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;19. 如果自动滚动到页面中的某区域&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;jQuery.fn.autoscroll&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(selector)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'html,body'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).animate( &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{scrollTop:&amp;nbsp;$(selector).offset().top}, &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;500 &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//然后像这样来滚动到你希望去到的class/area上。 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'.area_name'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).autoscroll();&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;20. 如何检测各种浏览器：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;检测Safari&amp;nbsp;(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(&amp;nbsp;$.browser.safari)), &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;检测IE6及之后版本&amp;nbsp;(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;($.browser.msie&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;$.browser.version&amp;nbsp;&amp;gt;&amp;nbsp;6&amp;nbsp;)), &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;检测IE6及之前版本&amp;nbsp;(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;($.browser.msie&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;$.browser.version&amp;nbsp;&amp;lt;=&amp;nbsp;6&amp;nbsp;)), &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;检测FireFox&amp;nbsp;2及之后版本&amp;nbsp;(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;($.browser.mozilla&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;$.browser.version&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'1.8'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;))&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p &gt;&lt;/p&gt;&#xD;
&lt;p&gt;21. 如何替换串中的词&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;el&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#id'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;el.html(el.html().replace(/word/ig,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;''&lt;/font&gt;&lt;/span&gt;&lt;span&gt;));&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;22. 如何禁用右键单击上下文菜单：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(document).bind(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'contextmenu'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(e){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;false&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;23. 如何定义一个定制的选择器&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$.expr[&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;':'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;].mycustomselector&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(element,&amp;nbsp;index,&amp;nbsp;meta,&amp;nbsp;stack){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;element-&amp;nbsp;一个DOM元素 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;index&amp;nbsp;&amp;#8211;&amp;nbsp;栈中的当前循环索引 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;meta&amp;nbsp;&amp;#8211;&amp;nbsp;有关选择器的元数据 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;stack&amp;nbsp;&amp;#8211;&amp;nbsp;要循环的所有元素的栈 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;如果包含了当前元素就返回true &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;如果不包含当前元素就返回false&amp;nbsp;}; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;定制选择器的用法： &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'.someClasses:test'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).doSomething();&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;24. 如何检查某个元素是否存在&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;($(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#someDiv'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).length)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//万岁！！！它存在&amp;#8230;&amp;#8230; &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;25. 如何使用jQuery来检测右键和左键的鼠标单击两种情况：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"#someelement"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).live(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'click'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(e)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(&amp;nbsp;(!$.browser.msie&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;e.button&amp;nbsp;==&amp;nbsp;0)&amp;nbsp;||&amp;nbsp;($.browser.msie&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;e.button&amp;nbsp;==&amp;nbsp;1)&amp;nbsp;)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"Left&amp;nbsp;Mouse&amp;nbsp;Button&amp;nbsp;Clicked"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;else&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(e.button&amp;nbsp;==&amp;nbsp;2)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"Right&amp;nbsp;Mouse&amp;nbsp;Button&amp;nbsp;Clicked"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;26. 如何显示或是删除input域中的默认值&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//这段代码展示了在用户未输入值时， &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//如何在文本类型的input域中保留 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//一个默认值 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;wap_val&amp;nbsp;=&amp;nbsp;[]; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;".swap"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).each(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(i){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wap_val[i]&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).val(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).focusin(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;($(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).val()&amp;nbsp;==&amp;nbsp;swap_val[i])&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).val(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;""&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}).focusout(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;($.trim($(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).val())&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;""&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).val(swap_val[i]); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;27. 如何在一段时间之后自动隐藏或关闭元素（支持1.4版本）：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//这是1.3.2中我们使用setTimeout来实现的方式 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;setTimeout(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'.mydiv'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).hide(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'blind'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;{},&amp;nbsp;500) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;},&amp;nbsp;5000); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//而这是在1.4中可以使用delay()这一功能来实现的方式（这很像是休眠） &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;".mydiv"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).delay(5000).hide(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'blind'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;{},&amp;nbsp;500);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;28. 如何把已创建的元素动态地添加到DOM中：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;newDiv&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;''&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newDiv.attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'id'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'myNewDiv'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).appendTo(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'body'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;29. 如何限制&amp;#8220;Text-Area&amp;#8221;域中的字符的个数：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;jQuery.fn.maxLength&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(max){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.each(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;type&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.tagName.toLowerCase(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;inputType&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.type?&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.type.toLowerCase()&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;null&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(type&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"input"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;inputType&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"text"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;||&amp;nbsp;inputType&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"password"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#008200"&gt;//Apply&amp;nbsp;the&amp;nbsp;standard&amp;nbsp;maxLength &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.maxLength&amp;nbsp;=&amp;nbsp;max; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;else&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(type&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"textarea"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.onkeypress&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(e){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;ob&amp;nbsp;=&amp;nbsp;e&amp;nbsp;||&amp;nbsp;event; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;keyCode&amp;nbsp;=&amp;nbsp;ob.keyCode; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;hasSelection&amp;nbsp;=&amp;nbsp;document.selection?&amp;nbsp;document.selection.createRange().text.length&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.selectionStart&amp;nbsp;!=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.selectionEnd; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;!(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.value.length&amp;nbsp;&amp;gt;=&amp;nbsp;max&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;(keyCode&amp;nbsp;&amp;gt;&amp;nbsp;50&amp;nbsp;||&amp;nbsp;keyCode&amp;nbsp;==&amp;nbsp;32&amp;nbsp;||&amp;nbsp;keyCode&amp;nbsp;==&amp;nbsp;0&amp;nbsp;||&amp;nbsp;keyCode&amp;nbsp;==&amp;nbsp;13)&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;!ob.ctrlKey&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;!ob.altKey&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;!hasSelection); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.onkeyup&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.value.length&amp;nbsp;&amp;gt;&amp;nbsp;max){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.value&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.value.substring(0,max); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//用法 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#mytextarea'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).maxLength(500);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;30. 如何为函数创建一个基本的测试&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//把测试单独放在模块中 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;module(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"Module&amp;nbsp;B"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;test(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"some&amp;nbsp;other&amp;nbsp;test"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#008200"&gt;//指明测试内部预期有多少要运行的断言 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;expect(2); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#008200"&gt;//一个比较断言，相当于JUnit的assertEquals &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;equals(&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;true&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;false&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"failing&amp;nbsp;test"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;equals(&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;true&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;true&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"passing&amp;nbsp;test"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p &gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;31. 如何在jQuery中克隆一个元素：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;cloned&amp;nbsp;=&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#somediv'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).clone();&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;32. 在jQuery中如何测试某个元素是否可见&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;($(element).is(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;':visible'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'true'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#008200"&gt;//该元素是可见的 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;33. 如何把一个元素放在屏幕的中心位置：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;jQuery.fn.center&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.css(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'position'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'absolute'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.css(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'top'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;(&amp;nbsp;$(window).height()&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.height()&amp;nbsp;)&amp;nbsp;/&amp;nbsp;+$(window).scrollTop()&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'px'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.css(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'left'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;(&amp;nbsp;$(window).width()&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.width()&amp;nbsp;)&amp;nbsp;/&amp;nbsp;2+$(window).scrollLeft()&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'px'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//这样来使用上面的函数： &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(element).center();&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;34. 如何把有着某个特定名称的所有元素的值都放到一个数组中：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;arrInputValues&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;new&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;Array(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"input[name='table[]']"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).each(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arrInputValues.push($(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).val()); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;35. 如何从元素中除去HTML&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;($)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.fn.stripHtml&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;regexp&amp;nbsp;=&amp;nbsp;/&amp;lt;(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"[^"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;]*&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"|'[^']*'|[^'"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;])*&amp;gt;/gi; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.each(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).html(&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).html().replace(regexp,&amp;#8221;")&amp;nbsp;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;})(jQuery); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//用法： &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'p'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).stripHtml();&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;36. 如何使用closest来取得父元素：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#searchBox'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).closest(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'div'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;37. 如何使用Firebug和Firefox来记录jQuery事件日志：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;允许链式日志记录 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;用法： &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#someDiv'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).hide().log(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'div&amp;nbsp;hidden'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).addClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'someClass'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;jQuery.log&amp;nbsp;=&amp;nbsp;jQuery.fn.log&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;(msg)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;(console){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"%s:&amp;nbsp;%o"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;msg,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;};&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;38. 如何强制在弹出窗口中打开链接：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;jQuery(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'a.popup'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).live(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'click'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newwindow=window.open($(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'href'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;''&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'height=200,width=150'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;(window.focus)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newwindow.focus(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;false&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;39. 如何强制在新的选项卡中打开链接：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;jQuery(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'a.newTab'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).live(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'click'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newwindow=window.open($(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).href); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jQuery(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).target&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"_blank"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;false&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;40. 在jQuery中如何使用.siblings()来选择同辈元素&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;不这样做 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#nav&amp;nbsp;li'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).click(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#nav&amp;nbsp;li'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).removeClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'active'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).addClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'active'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//替代做法是 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#nav&amp;nbsp;li'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).click(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).addClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'active'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).siblings().removeClass(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'active'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p &gt;&lt;/p&gt;&#xD;
&lt;p&gt;41. 如何切换页面上的所有复选框：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;tog&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;false&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;或者为true，如果它们在加载时为被选中状态的话 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'a'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).click(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"input[type=checkbox]"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"checked"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,!tog); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tog&amp;nbsp;=&amp;nbsp;!tog; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;42. 如何基于一些输入文本来过滤一个元素列表：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//如果元素的值和输入的文本相匹配的话 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//该元素将被返回 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'.someClass'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).filter(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'value'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;==&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'input#someId'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).val(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;})&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;43. 如何获得鼠标垫光标位置x和y&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(document).ready(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(document).mousemove(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(e){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&amp;#8217;#XY&amp;#8217;).html(&amp;#8221;X&amp;nbsp;Axis&amp;nbsp;:&amp;nbsp;&amp;#8221;&amp;nbsp;+&amp;nbsp;e.pageX&amp;nbsp;+&amp;nbsp;&amp;#8221;&amp;nbsp;|&amp;nbsp;Y&amp;nbsp;Axis&amp;nbsp;&amp;#8221;&amp;nbsp;+&amp;nbsp;e.pageY); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;44. 如何把整个的列表元素（List Element，LI）变成可点击的&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"ul&amp;nbsp;li"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).click(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;window.location=$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).find(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"a"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"href"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;false&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;&amp;lt;ul&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;lt;li&amp;gt;&amp;lt;a&amp;nbsp;href=&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"#"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;Link&amp;nbsp;1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;lt;li&amp;gt;&amp;lt;a&amp;nbsp;href=&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"#"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;Link&amp;nbsp;2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;lt;li&amp;gt;&amp;lt;a&amp;nbsp;href=&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"#"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;Link&amp;nbsp;3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;lt;li&amp;gt;&amp;lt;a&amp;nbsp;href=&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"#"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;Link&amp;nbsp;4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;lt;/ul&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;45. 如何使用jQuery来解析XML（基本的例子）：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;parseXml(xml)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#008200"&gt;//找到每个Tutorial并打印出author &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(xml).find(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"Tutorial"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).each(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"#output"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).append($(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"author"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;""&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;46. 如何检查图像是否已经被完全加载进来&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'#theImage'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).attr(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'src'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'image.jpg'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).load(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'This&amp;nbsp;Image&amp;nbsp;Has&amp;nbsp;Been&amp;nbsp;Loaded'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;47. 如何使用jQuery来为事件指定命名空间：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//事件可以这样绑定命名空间 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'input'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).bind(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'blur.validation'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(e){ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//&amp;nbsp;... &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;font color="#008200"&gt;//data方法也接受命名空间 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'input'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).data(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'validation.isValid'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;true&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;48. 如何检查cookie是否启用&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;dt&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;new&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;Date(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;dt.setSeconds(dt.getSeconds()&amp;nbsp;+&amp;nbsp;60); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;document.cookie&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"cookietest=1;&amp;nbsp;expires="&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+&amp;nbsp;dt.toGMTString(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;cookiesEnabled&amp;nbsp;=&amp;nbsp;document.cookie.indexOf(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"cookietest="&lt;/font&gt;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;!=&amp;nbsp;-1; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;if&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;(!cookiesEnabled)&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//没有启用cookie &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;49. 如何让cookie过期：&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;date&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;new&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;Date(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;date.setTime(date.getTime()&amp;nbsp;+&amp;nbsp;(x&amp;nbsp;*&amp;nbsp;60&amp;nbsp;*&amp;nbsp;1000)); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$.cookie(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'example'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'foo'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;{&amp;nbsp;expires:&amp;nbsp;date&amp;nbsp;});&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p&gt;50. 如何使用一个可点击的链接来替换页面中任何的URL&lt;/p&gt;&lt;pre&gt;&lt;ol &gt;&lt;li &gt;&lt;span&gt;$.fn.replaceUrl&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;var&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;regexp&amp;nbsp;=&amp;nbsp;/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&amp;amp;%@!\-\/]))?)/gi; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;.each(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;function&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;()&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).html( &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;).html().replace(regexp,'&amp;lt;a&amp;nbsp;href=&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;"$1"&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;$1&amp;lt;/a&amp;gt;&amp;#8216;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;return&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;$(&lt;/span&gt;&lt;span &gt;&lt;strong&gt;&lt;font color="#006699"&gt;this&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span &gt;&lt;font color="#008200"&gt;//用法　 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li &gt;&lt;span&gt;$(&lt;/span&gt;&lt;span &gt;&lt;font color="#0000ff"&gt;'p'&lt;/font&gt;&lt;/span&gt;&lt;span&gt;).replaceUrl();&lt;/span&gt;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2238789.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/11/07/2238789.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/10/25/2223868.html</id><title type="text">AD 密码策略</title><summary type="text">1、用可还原的加密来储存密码默认禁用。若有应用程序需要读取用户的密码。2、密码必须符合复杂性要求AD DS域默认是启用的，独立服务器默认是禁用3、密码最长使用期限0－999天，若密码使用期限已到的会话，系统会要求用户更改密码。0表示密码没有使用期限。4、密码最短使用期限0－998天，在期限未到前，用户不得更改密码。0表示用户可以随时更改密码。AD DS域默认为1，独立服务器默认为05、强制密码历史用来设置是否要记录用户曾经用过的旧密码，以便决定用户在更改密码时，是否可以重复使用旧密码。1－24如设为5，则用户的新密码不可以与前5次所使用过的旧密码相同。6、密码长度最小值最少需要几个字符。AD </summary><published>2011-10-25T06:02:00Z</published><updated>2011-10-25T06:02:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/10/25/2223868.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/10/25/2223868.html"/><content type="html">&lt;p&gt;1、用可还原的加密来储存密码&lt;/p&gt;&#xD;
&lt;p&gt;默认禁用。若有应用程序需要读取用户的密码。&lt;/p&gt;&#xD;
&lt;p&gt;2、密码必须符合复杂性要求&lt;/p&gt;&#xD;
&lt;p&gt;AD DS域默认是启用的，独立服务器默认是禁用&lt;/p&gt;&#xD;
&lt;p&gt;3、密码最长使用期限&lt;/p&gt;&#xD;
&lt;p&gt;0－999天，若密码使用期限已到的会话，系统会要求用户更改密码。&lt;/p&gt;&#xD;
&lt;p&gt;0表示密码没有使用期限。&lt;/p&gt;&#xD;
&lt;p&gt;4、密码最短使用期限&lt;/p&gt;&#xD;
&lt;p&gt;0－998天，在期限未到前，用户不得更改密码。&lt;/p&gt;&#xD;
&lt;p&gt;0表示用户可以随时更改密码。AD DS域默认为1，独立服务器默认为0&lt;/p&gt;&#xD;
&lt;p&gt;5、强制密码历史&lt;/p&gt;&#xD;
&lt;p&gt;用来设置是否要记录用户曾经用过的旧密码，以便决定用户在更改密码时，是否可以重复使用旧密码。1－24&lt;/p&gt;&#xD;
&lt;p&gt;如设为5，则用户的新密码不可以与前5次所使用过的旧密码相同。&lt;/p&gt;&#xD;
&lt;p&gt;6、密码长度最小值&lt;/p&gt;&#xD;
&lt;p&gt;最少需要几个字符。&lt;/p&gt;&#xD;
&lt;p&gt;AD DS域默认7，独立服务器默认为0&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2223868.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/10/25/2223868.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/10/19/2217529.html</id><title type="text">LDAP over SSL (LDAPS) Certificate</title><summary type="text">LDAP over SSL (LDAPS) CertificateApplies to Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2Table of ContentsReasons for Enabling LDAPSEnabling LDAPS for domain controllers using a single-tier CA hierarchyEnabling LDAPS for domain controllers using a multi-tie</summary><published>2011-10-19T05:26:00Z</published><updated>2011-10-19T05:26:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/10/19/2217529.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/10/19/2217529.html"/><content type="html">&lt;h1 &gt;LDAP over SSL (LDAPS) Certificate&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&lt;span id="ctl00_ctl00_content_content_ctl00_w_5261__e9d135_ctl00_ctl01"  title="Rated Good [4 out of 5]."&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-left-on.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-right-on.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-left-on.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-right-on.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-left-on.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-right-on.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-left-on.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-right-on.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-left-off.png"  alt="" /&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" align="absMiddle" src="http://social.technet.microsoft.com/wiki/Utility/images/star-right-off.png"  alt="" /&gt;&lt;/span&gt;&lt;input id="ctl00_ctl00_content_content_ctl00_w_5261__e9d135_ctl00_ctl01_Value" value="4" type="hidden" /&gt;&lt;/div&gt;&#xD;
&lt;div &gt;&lt;span style="font-size: 8px"&gt;&lt;span style="font-size: 10px"&gt;Applies to Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10px"&gt;&lt;br /&gt;&#xD;
&lt;div &gt;&#xD;
&lt;h2 &gt;Table of Contents&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&lt;/div&gt;&#xD;
&lt;ul &gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#Reasons"&gt;&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#Reasons"&gt;Reasons for Enabling LDAPS&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#SingleTierLDAPS"&gt;Enabling LDAPS for domain controllers using a single-tier CA hierarchy&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#MultiTierLDAPS"&gt;Enabling LDAPS for domain controllers using a multi-tier CA hierarchy&lt;/a&gt; &#xD;
&lt;div &gt;&lt;/div&gt;&#xD;
&lt;ul &gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#CustomServerAuthCert"&gt;Publishing a Certificate that Supports Server Authentication&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;div &gt;&lt;/div&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#ReqServerAuthCert"&gt;Requesting a Certificate for Server Authentication&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#EnableLDAPSClient"&gt;Enabling LDAPS for Client Authentication&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#NTDScert"&gt;Active Directory Domain Services Certificate Storage&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#Exporting_and_Importing_the_LDAPS_Certificate"&gt;Exporting the LDAPS Certificate and Importing for use with AD DS&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#Verify"&gt;Verifying an LDAPS connection&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#Troubleshooting"&gt;Troubleshooting LDAP over SSL&lt;/a&gt;&lt;/li&gt;&lt;li &gt;&lt;a href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#Info"&gt;Additional Information&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;div &gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 8px"&gt;&lt;/span&gt;&lt;br /&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="Reasons"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="Reasons"&gt;Reasons for Enabling LDAPS&lt;br /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;By default, LDAP communications between client and server applications are not encrypted. This means that it would be possible to use a &lt;a title="Link to Wikipedia definition of network monitoring" href="http://en.wikipedia.org/wiki/Network_monitoring" target="_blank"&gt;network monitoring &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;device or software and view the communications traveling between LDAP client and server computers. This is especially problematic when an LDAP simple bind is used because credentials (username and password) is passed over the network unencrypted. This could quickly lead to the compromise of credentials.&lt;br /&gt;&#xD;
&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&lt;span style="background-color: #eeece1; color: #1f497d"&gt;&lt;strong style="background-color: #bfbfbf"&gt;Note&lt;/strong&gt; &lt;/span&gt;&lt;span style="background-color: #eeece1"&gt;Only LDAP data transfers are exposed. Other authentication or authorization data using Kerberos, SASL, and even NTLM have their own encryption systems. The Microsoft Management Console (mmc) snap-ins, since &lt;a title="LDAP sign and seal" href="http://support.microsoft.com/kb/811422" target="_blank"&gt;Windows 2000 SP4 have used LDAP sign and seal &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;or &lt;a title="Link to definition on Wikipedia" href="http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer" target="_blank"&gt;Simple Authentication and Security Layer (SASL) &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;and &lt;/span&gt;&lt;a style="background-color: #eeece1" title="How Active Directory Replication works" href="http://technet.microsoft.com/en-us/library/cc772726%28WS.10%29.aspx" target="_blank"&gt;replication between domain controllers is encrypted using Kerberos &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;.&lt;br /&gt;&lt;/blockquote&gt;Reasons for enabling Lightweight Directory Access Protocol (LDAP) over Secure Sockets Layer (SSL) / Transport Layer Security (TLS) also known as LDAPS include:&lt;br /&gt;&#xD;
&lt;ul&gt;&lt;li&gt;Some applications authenticate with Active Directory Domain Services (AD DS) through simple BIND. As simple BIND exposes the users&amp;#8217; credentials in clear text, use of Kerberos is preferred. If simple BIND is necessary, using SSL/TLS to encrypt the authentication session is strongly recommended. &lt;/li&gt;&lt;li&gt;Use of proxy binding or password change over LDAP, which requires LDAPS. (e.g. &lt;a title="Bind to an AD LDS instace with a proxy object" href="http://technet.microsoft.com/en-us/library/cc794922%28WS.10%29.aspx" target="_blank"&gt;Bind to an AD LDS Instance Through a Proxy Object &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;) &lt;/li&gt;&lt;li&gt;Some applications that integrate with LDAP servers (such as Active Directory or Active Directory Domain Controllers) require encrypted communications. To encrypt LDAP communications in a Windows network, you can enable LDAP over SSL (LDAPS). &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&lt;span style="background-color: #eeece1; color: #000000"&gt;&lt;span style="background-color: #bfbfbf; color: #ff0000"&gt;&lt;strong&gt;Warning&lt;/strong&gt;&lt;/span&gt; Before you install a certification authority (CA), you should be aware that you are creating or extending a public key infrastructure (PKI). Be sure to design a PKI that is appropriate for your organization. See &lt;a title="TechNet Wiki article on designing a PKI infrastructure" href="http://social.technet.microsoft.com/wiki/contents/articles/pki-design-brief-overview.aspx" target="_blank"&gt;PKI Design Brief Overview&lt;/a&gt; for additional information.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="SingleTierLDAPS"&gt;Enabling LDAPS for domain controllers using a single-tier CA hierarchy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;LDAP over SSL/TLS (LDAPS) is automatically enabled when you install an Enterprise Root CA on a domain controller (although installing a CA on a domain controller is not a recommended practice). You can see examples of this in the &lt;a title="Base TLG for Windows Server 2008 R2" href="http://technet.microsoft.com/en-us/library/gg314535%28WS.10%29.aspx" target="_blank"&gt;Test Lab Guide Base Configuration for Windows Server 2008 R2 &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;, &lt;a title="Building an Enterprise Root CA for small and medium businesses" href="http://technet.microsoft.com/en-us/library/cc875810.aspx" target="_blank"&gt;Building an Enterprise Root Certification Authority in Small and Medium Businesses &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;, and &lt;a title="Blog on installing Enterprise Root CA using Windows Server 2008 R2" href="http://araihan.wordpress.com/2009/10/05/windows-server-2008-active-directory-certificate-services-ad-cs/" target="_blank"&gt;Install and configure Microsoft Active Directory Certificate Services (AD CS) using Windows Server 2008 R2 &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="MultiTierLDAPS"&gt;Enabling LDAPS for domain controllers using a multi-tier CA hierarchy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;When you have a multi-tier (such as a two-tier or three-tier) CA hierarchy, you will not automatically have the appropriate certificate for LDAPS authentication on the domain controller. In order to enable LDAPS in a multi-tier CA hierarchy, you must request a certificate that meets the following requirements:&lt;br /&gt;&#xD;
&lt;ul&gt;&lt;li&gt;Certificate must be valid for the purpose of Server Authentication. This means that it must also contains the Server Authentication object identifier (OID): 1.3.6.1.5.5.7.3.1 &lt;/li&gt;&lt;li&gt;The Subject name or the first name in the Subject Alternative Name (SAN) must match the &lt;a title="Definition of FQDN on Wikipedia" href="http://en.wikipedia.org/wiki/FQDN" target="_blank"&gt;Fully Qualified Domain Name (FQDN) &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;of the host machine, such as Subject:CN=server1.contoso.com. For more information, see &lt;a title="Explains adding a SAN to a LDAPS certificate" href="http://support.microsoft.com/kb/931351" target="_blank"&gt;How to add a Subject Alternative Name to a secure LDAP certificate &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;. &lt;/li&gt;&lt;li&gt;The host machine account must have access to the private key. &lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;a name="CustomServerAuthCert"&gt;Publishing a Certificate that Supports Server Authentication&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;ol&gt;&lt;li&gt;On the issuing Certification Authority computer, open the Certificates console or Certsrv console. To open Certsrv, click &lt;strong&gt;Start&lt;/strong&gt;. Type&lt;strong&gt; certsrv.msc&lt;/strong&gt; and then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Ensure that Certification Authority is expanded as well as the name of the certification authority. &lt;/li&gt;&lt;li&gt;Right-click &lt;strong&gt;Certificate Templates&lt;/strong&gt; and then click &lt;strong&gt;Manage&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/1581.ManageCertificates.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 336px; height: 273px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Manage in Certificates Console" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/1581.ManageCertificates.JPG" longdesc="Right-click Certificate Templates and then click Manage" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;In the &lt;strong&gt;Certificate Templates Console&lt;/strong&gt;, right-click &lt;strong&gt;Kerberos Authentication&lt;/strong&gt; and then select &lt;strong&gt;Duplicate Template&lt;/strong&gt;. You don't have to use the Kerberos template. You can create your own or use one of the existing templates that has Server Authentication as a purpose, such as &lt;strong&gt;Domain Controller Authentication&lt;/strong&gt;, &lt;strong&gt;Domain Controller&lt;/strong&gt;, &lt;strong&gt;Web Server&lt;/strong&gt;, and &lt;strong&gt;Computer&lt;/strong&gt;. Important: You should be planning on having &lt;strong&gt;only&lt;/strong&gt; one certificate on each LDAP server (i.e. domain controller or AD LDS computer) with the purpose of &lt;strong&gt;Server Authentication&lt;/strong&gt;. If you have legitimate reasons for using more than one, you may end up having certificate selection issues, which is discussed further in the &lt;a name="NTDScert"&gt;Active Directory Domain Services Certificate Storage&lt;/a&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/0702.DuplicateTemplate.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Duplicate Template" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/0702.DuplicateTemplate.JPG" longdesc="Duplicate the Kerberos template by right-clicking it in the Certificate Templates Console" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;On the &lt;strong&gt;Duplicate Template&lt;/strong&gt; dialog box, leave the default selected &lt;strong&gt;Windows Server 2003 Enterprise&lt;/strong&gt; selected and then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;Properties of New Template &lt;/strong&gt;appear. Ensure that settings are as you want them to be for this certificate template. Pay close attention to ensure that the &lt;strong&gt;Template display name&lt;/strong&gt; is set to an appropriate name along with the following settings: &#xD;
&lt;ul&gt;&lt;li&gt;Validity and Renewal periods are set according to your organization's security policy&lt;/li&gt;&lt;li&gt;Key lengths are appropriate&lt;/li&gt;&lt;li&gt;Select whether you want to place the certificate in Active Directory&lt;/li&gt;&lt;li&gt;Subject Name tab: DNS name and Service principal name (SPN) are selected&lt;/li&gt;&lt;li&gt;If you plan to import the certificate into the Active Directory Domain Services certificate store, then should also mark the private key as exportable.&lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/2072.PrivateKeyExportable.JPG"&gt;&lt;img style="border-bottom: 0px solid; border-left: 0px solid; margin: 2px; width: 384px; height: 499px; border-top: 0px solid; border-right: 0px solid" alt="Allow private key to be exported" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/2072.PrivateKeyExportable.JPG" longdesc="Select the Allow private key to be exported on the certificate properties request handling tab" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Return to the Certificates or Certsrv console and in the details pane of &lt;strong&gt;Certificate Templates&lt;/strong&gt;, right-click an open area of the console, click &lt;strong&gt;New&lt;/strong&gt;, and then click &lt;strong&gt;Certificate Template to Issue&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/1513.NewCertTemplateToIssue.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Certificate Template to Issue" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/1513.NewCertTemplateToIssue.JPG" longdesc="In the details pane of the Certificates console, right-click an open area and then select New - Certificate Template to Issue." /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;In the &lt;strong&gt;Enable Certificate Templates&lt;/strong&gt; dialog box, select the name of the new template you created and then click &lt;strong&gt;OK&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/1881.LDAPoverSSLCertTemplate.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 550px; height: 339px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Copy of Kerberos template named LDAPoverSSL" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/1881.LDAPoverSSLCertTemplate.JPG" longdesc="New Certificate Template to Issue LDAPoverSSL based on the Kerberos template and selected in the Enable Certificate Templates dialog box" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="ReqServerAuthCert"&gt;Requesting a Certificate for Server Authentication&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;To request a certificate from your LDAPSL server, do the following on each domain controller that requires LDAPS connections:&lt;/p&gt;&#xD;
&lt;ol&gt;&lt;li&gt;Open the &lt;strong&gt;Certificates &lt;/strong&gt;console. Click &lt;strong&gt;Start&lt;/strong&gt;, type &lt;strong&gt;MMC&lt;/strong&gt;, and then press ENTER. If prompted by User Account Control, ensure it displays the action you want and then click &lt;strong&gt;Yes&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;In the MMC console that opens (typically Console1), click &lt;strong&gt;File &lt;/strong&gt;and then click &lt;strong&gt;Add/Remove Snap-in&lt;/strong&gt; &lt;/li&gt;&lt;li&gt;In &lt;strong&gt;Add or Remove Snap-ins&lt;/strong&gt; under &lt;strong&gt;Available Snap-ins&lt;/strong&gt;, click &lt;strong&gt;Certificates&lt;/strong&gt;, and then click &lt;strong&gt;Add&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;In &lt;strong&gt;Certificates snap-in&lt;/strong&gt; select &lt;strong&gt;Computer account&lt;/strong&gt; and then click &lt;strong&gt;Next&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;In &lt;strong&gt;Select Computer&lt;/strong&gt;, if you are managing the LDAP server requiring the certificate, select &lt;strong&gt;Local&lt;/strong&gt;. Otherwise, select &lt;strong&gt;Another computer&lt;/strong&gt; and click &lt;strong&gt;Browse &lt;/strong&gt;to locate the LDAP server requiring the certificate. &lt;/li&gt;&lt;li&gt;Once you have the correct computer selected, click &lt;strong&gt;OK&lt;/strong&gt; and then click &lt;strong&gt;Finish&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;In &lt;strong&gt;Add or Remove Snap-ins&lt;/strong&gt;, click &lt;strong&gt;OK&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;In the console tree, expand &lt;strong&gt;Certificates (&amp;lt;computer&amp;gt;)&lt;/strong&gt; &lt;/li&gt;&lt;li&gt;right click &lt;strong&gt;Certificates&lt;/strong&gt;, click &lt;strong&gt;All Tasks&lt;/strong&gt;, and then click &lt;strong&gt;Request New Certificate&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/7167.RequestNewCertificate.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 550px; height: 357px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Request New Certificate" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/7167.RequestNewCertificate.JPG" longdesc="Certificates store for an LDAP server computer, Personal, Certificates, All Tasks, Request New Certificate" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;In &lt;strong&gt;Certificate Enrollment&lt;/strong&gt;, click &lt;strong&gt;Next&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;In the &lt;strong&gt;Select Certificate Enrollment Policy&lt;/strong&gt;, typically you would leave the default of &lt;strong&gt;Active Directory Enrollment Policy&lt;/strong&gt;. If you have a different policy that you should follow, then select that one and click &lt;strong&gt;Next&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;Select a certificate that allows for server authentication, &lt;strong&gt;Kerberos&lt;/strong&gt; works, but you can use a custom certificate as described in&amp;nbsp; Publishing a Certificate that Supports Server Authentication. Click &lt;strong&gt;Enroll&lt;/strong&gt;.&amp;nbsp; &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/0882.LDAPOverSSLCertSelection.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 550px; height: 383px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Selecting a certificate that supports Server Authentication" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/0882.LDAPOverSSLCertSelection.JPG" longdesc="Selecting a certificate named LDAPoverSSL, which is a custom certificate based on the Kerberos certificate template" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;On the &lt;strong&gt;Certificate Enrollment &lt;/strong&gt;dialog box, click &lt;strong&gt;Finish&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;In the results pane double-click the certificate that you received to open the &lt;strong&gt;Certificate &lt;/strong&gt;properties dialog box. &lt;/li&gt;&lt;li&gt;Click the &lt;strong&gt;Details &lt;/strong&gt;tab, in the &lt;strong&gt;Field&lt;/strong&gt; column, select&lt;strong&gt; Enhanced Key Usage&lt;/strong&gt;. Confirm that &lt;strong&gt;Server Authentication (1.3.6.1.5.5.7.3.1)&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/6318.EnhancedKeyUsage.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Certificate Enhanced Key Usage" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/6318.EnhancedKeyUsage.JPG" width="398" longdesc="Properties of the certificate issued, Details tab, Enhanced Key Usage selected" height="493" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;For other step-by-step examples requesting a certificate for server authentication and implementing LDAP over SSL (LDAPS), see the following articles:&lt;br /&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a title="Instructions on how to request a server authentication certificate in Windows Server 2003" href="http://technet.microsoft.com/en-us/library/cc740173%28WS.10%29.aspx" target="_blank"&gt;Request a computer certificate for server authentication - Windows Server 2003, 2003 R2 instructions &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Enable LDAP over SSL with 3rd party CA" href="http://support.microsoft.com/kb/321051" target="_blank"&gt;How to enable LDAP over SSL with a third-party Certification Authority - Windows Server 2000, 2003, 2003 R2, 2008, 2008 R2 updated instructions &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title="Configuring LDAP over SSL on AD LDS" href="http://technet.microsoft.com/en-us/library/cc725767%28WS.10%29.aspx" target="_blank"&gt;Appendix A: Configuring LDAP over SSL Requirements for AD LDS - Windows Server 2008 and Windows Server 2008 R2 instructions &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="EnableLDAPSClient"&gt;Enabling LDAPS for Client Authentication&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;Enabling LDAPS on the client is not necessary to protect credentials passed from the client to the server when LDAPS is already enabled on the server. This just allows the client to actually authenticate itself to the server - an extra layer of protection to ensure that the client connecting as COMPUTER_X is actually COMPUTER_X and not some other computer trying to authenticate with COMPUTER_X credentials. The client must be using a certificate from a CA that the LDAP server trusts. Client certificates and AD DS accounts are mapped using altSecurityIdentities, which can be done through various methods. For more information on those methods, see &lt;a title="Mapping users to certificates" href="http://blogs.msdn.com/b/spatdsg/archive/2010/06/18/howto-map-a-user-to-a-certificate-via-all-the-methods-available-in-the-altsecurityidentities-attribute.aspx" target="_blank"&gt;HowTo: Map a user to a certificate via all the methods available in the altSecurityIdentities attribute &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;. Certificates are presented to the server during the Transport Layer Security (TLS) key exchange (described in paragraph 7.4 of &lt;a title="RFC 2246" href="http://tools.ietf.org/html/rfc2246" target="_blank"&gt;RFC 2246 &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;). To enable LDAPS authentication for the client, ensure the certificate is placed in the personal store for the user account.&lt;br /&gt;&lt;br /&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="NTDS_Certificate_Storage_Starting_in_Windows_Server_2008"&gt;&lt;/a&gt;&lt;a name="NTDScert"&gt;Active Directory Domain Services Certificate Storage&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;When a certificate is selected from the local machine store (as in &lt;a title="Enumerating Certificates" href="http://msdn.microsoft.com/en-us/library/aa376050%28v=vs.85%29.aspx" target="_blank"&gt;CertEnumCertificatesInStore &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;) the first valid certificate that can be used for Server Authentication (OID: 1.3.6.1.5.5.7.3.1) is returned for use. In cases where customers have multiple certificates valid for Server Authentication in the LDAP server's (e.g. &lt;a title="Active Directory Domain Services domain controller" href="http://technet.microsoft.com/en-us/library/cc770946%28WS.10%29.aspx" target="_blank"&gt;AD DS domain controller &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;, &lt;a title="Active Directory Lightweight Directory Service" href="http://technet.microsoft.com/en-us/library/cc754361%28WS.10%29.aspx" target="_blank"&gt;AD LDS &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;, or &lt;a title="Active Directory Application Mode" href="http://technet.microsoft.com/en-us/library/cc736765%28WS.10%29.aspx" target="_blank"&gt;ADAM &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;server) local computer certificate store, may see that a different certificate than the one they want is used for LDAPS communications. The best resolution to such an issue is to remove all unnecessary certificates from the local computer certificate store and have only one certificate that is valid for server authentication. &lt;br /&gt;&lt;br /&gt;However, if there is a legitimate reason that two or more certificates and a customer using at least Windows Server 2008 LDAP servers, the Active Directory Domain Services (NTDS\Personal)&amp;nbsp;certificate store can be used for LDAPS communications. &lt;br /&gt;&lt;br /&gt;&lt;strong style="background-color: #d8d8d8"&gt;&amp;nbsp;&lt;span style="background-color: #bfbfbf; color: #e36c09"&gt;Important&lt;/span&gt;&lt;/strong&gt;&lt;span style="background-color: #d8d8d8"&gt; There are several significant details to know before you implement the use of the Active Directory Domain Services certificate store.&lt;/span&gt;&lt;br style="background-color: #d8d8d8" /&gt;&lt;span style="background-color: #d8d8d8"&gt;&lt;/span&gt;&#xD;
&lt;ol style="background-color: #d8d8d8"&gt;&lt;li&gt;Automatic certificate enrollment (auto-enrollment) cannot be utilized with certificates in the NTDS\Personal certificate store.&lt;/li&gt;&lt;li&gt;Current command line tools do not allow certificate management of the NTDS\Personal certificate store.&lt;/li&gt;&lt;li&gt;Certificates should be imported into the store, and not moved (using drag and drop) via Certificates console (MMC)&lt;/li&gt;&lt;li&gt;Each LDAP server will require its own certificate in order to use this option, but it is only necessary to use this option on a server that has multiple certificates with the purpose of Server Authentication in the local certificates store. The best solution is to have only one certificate in the computer's personal certificate &lt;/li&gt;&lt;/ol&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="Exporting_and_Importing_the_LDAPS_Certificate"&gt;&lt;/a&gt;&lt;a name="ExportImport"&gt;Exporting the LDAPS Certificate and Importing for use with AD DS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;The following steps will demonstrate how to export an LDAPS enabled certificate from a domain controller computer's local certificate store to the Active Directory Domain Services service certificate store (NTDS\Personal). You will have to perform this step for each domain controller that has multiple certificates with the enabled use of Server Authentication. These certificates will have to be manually renewed when they expire and only works starting with Windows Server 2008 domain controllers, as that was the first Windows Server operating system release in which the NTDS was separated out as its own service.&lt;br /&gt;&#xD;
&lt;ol&gt;&lt;li&gt;Click &lt;strong&gt;Start&lt;/strong&gt;, type &lt;strong&gt;mmc&lt;/strong&gt; and then click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;File&lt;/strong&gt; and then click &lt;strong&gt;Add/Remove Snap-in&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;Certificates&lt;/strong&gt; and then click &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;In &lt;strong&gt;Certificates &lt;/strong&gt;snap-in select &lt;strong&gt;Computer &lt;/strong&gt;account and then click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;In &lt;strong&gt;Select Computer&lt;/strong&gt;, if you are working at the LDAP server requiring the certificate, select &lt;strong&gt;Local&lt;/strong&gt;. Otherwise, select &lt;strong&gt;Another computer&lt;/strong&gt; and click &lt;strong&gt;Browse &lt;/strong&gt;to locate the LDAP server requiring the certificate.&lt;/li&gt;&lt;li&gt;Once you have the correct computer selected, click &lt;strong&gt;OK &lt;/strong&gt;and then click &lt;strong&gt;Finish&lt;/strong&gt;.&lt;br /&gt;In &lt;strong&gt;Add or Remove Snap-ins&lt;/strong&gt;, click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;In the console tree, expand &lt;strong&gt;Certificates (&amp;lt;computer&amp;gt;)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;In the certificates console of a computer that contains a certificate that can be used for Server Authentication, right-click the certificate, click &lt;strong&gt;All Tasks&lt;/strong&gt;, and then click &lt;strong&gt;Export&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/0118.ExportingLDAPScertificate.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 550px; height: 230px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Export Server Auth Certificate" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/0118.ExportingLDAPScertificate.JPG" longdesc="Exporting the LDAPoverSSL certificate that was requested in the previous procedure" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Certificate Export Wizard &lt;/strong&gt;welcome screen, click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Export Private Key&lt;/strong&gt; screen, select &lt;strong&gt;Yes, export the private key&lt;/strong&gt; and then click &lt;strong&gt;Next&lt;/strong&gt;. If you don't have the option to export the private key, then the certificate template did not allow the exporting of the private key (see &lt;a title="Ensure template allows private key to be exported" href="http://social.technet.microsoft.com/wiki/contents/articles/2980.aspx#CustomServerAuthCert"&gt;Publishing a Certificate that Supports Server Authentication&lt;/a&gt;). &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/5488.ExportPrivateKey.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 370px; height: 326px; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Export private key" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/5488.ExportPrivateKey.JPG" longdesc="Select Yes, export the private key on the Export Private Key screen" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Export File Format&lt;/strong&gt; screen, you should select &lt;strong&gt;Export all extended properties&lt;/strong&gt;. The other selections are optional. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/3817.FileExportFormat.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 409px; height: 371px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Export all extended properties" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/3817.FileExportFormat.JPG" longdesc="Select Export all extended properties on the Export File Format screen" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the Password screen, enter a password that you want to be used when the certificate is imported. You will have to type the password twice: once in the &lt;strong&gt;Password&lt;/strong&gt; box and then again in the &lt;strong&gt;Type and confirm password (mandatory)&lt;/strong&gt; box. Then, click &lt;strong&gt;Next&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;File to Export&lt;/strong&gt; screen, enter a path, file name, and .pfx file extension in the &lt;strong&gt;File name&lt;/strong&gt; box and then click &lt;strong&gt;Next&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/5141.FileToExport.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 324px; height: 289px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="File To Export" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/5141.FileToExport.JPG" longdesc="Type the file name and path of the file to export in File name." /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;Confirm the settings on the completion screen and then click &lt;strong&gt;Finish&lt;/strong&gt;. You should see a pop-up message indicating that the export was successful. Click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;&lt;/span&gt;Click &lt;strong&gt;File&lt;/strong&gt; and then click &lt;strong&gt;Add/Remove Snap-in&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;Certificates &lt;/strong&gt;and then click &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;Select &lt;strong&gt;Service account&lt;/strong&gt; and then click &lt;strong&gt;Next&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/3678.ServiceAccount.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 198px; height: 104px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Service Account" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/3678.ServiceAccount.JPG" longdesc="In the Certifciates snap-in, select Service account" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;In the &lt;strong&gt;Select Computer&lt;/strong&gt; dialog box, ensure that you target the appropriate computer. If you are running the Microsoft Management Console (MMC) and want to target the local computer, you can leave the default selection of &lt;strong&gt;Local computer&lt;/strong&gt;. Otherwise, select&lt;strong&gt; Another computer&lt;/strong&gt; and then use the &lt;strong&gt;Browse &lt;/strong&gt;button to select the appropriate computer. Then click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;Select &lt;strong&gt;Active Directory Domain Services&lt;/strong&gt; and then click &lt;strong&gt;Finish&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/0601.Service_5F00_AD_5F00_DS.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 278px; height: 125px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt=" " src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/0601.Service_5F00_AD_5F00_DS.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Add or Remove Snap-ins&lt;/strong&gt; dialog box click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;Expand &lt;strong&gt;Certificates - Services (Active Directory Domain Services)&lt;/strong&gt; and then click &lt;strong&gt;NTDS\Personal&lt;/strong&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;Right-click &lt;strong&gt;NTDS\Personal&lt;/strong&gt;, click &lt;strong&gt;All Tasks&lt;/strong&gt;, and then click &lt;strong&gt;Import&lt;/strong&gt;. &lt;span style="color: #000000"&gt;&lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/1055.ImportingLDAPScertificate.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 373px; height: 210px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Import Certificate" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/1055.ImportingLDAPScertificate.JPG" longdesc="Expand Certificates - Service, NTDS\Personal, right-click, All Tasks, Import" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Certificate Import Wizard&lt;/strong&gt; welcome screen, click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;File to Import&lt;/strong&gt; screen, click the &lt;strong&gt;Browse&lt;/strong&gt;, and then locate the certificate file that you exported previously.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Open &lt;/strong&gt;screen, ensure that &lt;strong&gt;Personal Information Exchange (*pfx,*.p12)&lt;/strong&gt; is selected as the file type and then navigate the file system to locate the certificate you exported previously and then click that certificate.&amp;nbsp; &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/7522.ldapscert_5F00_selection.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 321px; height: 245px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="LDAPS certificate selection" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/7522.ldapscert_5F00_selection.JPG" longdesc="Navigate to the appropriate location in the file system, ensure that Personal Information Exchange is selected as the file type, locate and select the certificate you exported earlier" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;Click &lt;strong&gt;Open &lt;/strong&gt;and then click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Password &lt;/strong&gt;screen enter the password you set for the file and then click &lt;strong&gt;Next&lt;/strong&gt;.&amp;nbsp; &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/8321.Password4LDAPS_5F00_Import.JPG"&gt;&lt;img style="border-bottom: 0px solid; border-left: 0px solid; border-top: 0px solid; border-right: 0px solid" alt=" " src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/8321.Password4LDAPS_5F00_Import.JPG" width="287" height="260" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Certificate Store&lt;/strong&gt; page, ensure that &lt;strong&gt;Place all certificates in the following store&lt;/strong&gt; is selected and reads &lt;strong&gt;Certificate store: NTDS\Personal&lt;/strong&gt; and then click &lt;strong&gt;Next&lt;/strong&gt;.&amp;nbsp; &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/2158.NTDS_5F00_Personal.JPG"&gt;&lt;img style="border-bottom: 0px solid; border-left: 0px solid; margin: 2px 2px 3px; width: 340px; height: 176px; vertical-align: middle; border-top: 0px solid; border-right: 0px solid" alt="Certificate Store" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/2158.NTDS_5F00_Personal.JPG" longdesc='Select "Place all certificates in the following store" and "NTDS\Personal"' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;On the &lt;strong&gt;Certificate Import Wizard&lt;/strong&gt; completion screen, click &lt;strong&gt;Finish&lt;/strong&gt;. You should then see a message that the import was successful. Click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;In the Navigation pane, under &lt;strong&gt;NTDS\Personal&lt;/strong&gt;, click &lt;strong&gt;Certificates&lt;/strong&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;In the details pane, right-click the certificate you imported and then click &lt;strong&gt;Open&lt;/strong&gt;. &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/2425.CheckImportedCert.JPG"&gt;&lt;img style="border-bottom: 0px solid; border-left: 0px solid; margin: 2px; width: 550px; height: 263px; vertical-align: middle; border-top: 0px solid; border-right: 0px solid" alt="LDAPS Certificate" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/2425.CheckImportedCert.JPG" longdesc="Navigation pane, select Certificates under NTDS\Personal and then select then right-click the certificate you imported in the Details pane and click Open." /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #000000"&gt;Click &lt;strong&gt;Details &lt;/strong&gt;and then click Enhanced Key Usage, you should see that &lt;strong&gt;Server Authentication (1.3.6.1.5.5.7.3.1) &lt;/strong&gt;is one of the purposes of the certificate and then click &lt;strong&gt;OK&lt;/strong&gt;.&amp;nbsp; &lt;a href="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/1665.ServerAuthenticationEnhancedKeyUsage.JPG"&gt;&lt;img style="border-bottom: #000000 1px solid; border-left: #000000 1px solid; margin: 2px; width: 360px; height: 447px; vertical-align: middle; border-top: #000000 1px solid; border-right: #000000 1px solid" alt="Server Authentication" src="http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/1665.ServerAuthenticationEnhancedKeyUsage.JPG" longdesc="Open certificate, click Details, click Enhanced Key Usage, and then read purposes" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="Verify"&gt;Verifying an LDAPS connection&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;After a certificate is installed, follow these steps to verify that LDAPS is enabled:&lt;br /&gt;&#xD;
&lt;ol&gt;&lt;li&gt;Start the Active Directory Administration Tool (Ldp.exe) &#xD;
&lt;ul&gt;&lt;li&gt;To use LDP.EXE on Windows Server 2003, see &lt;a title="LDP in Windows Server 2003" href="http://technet.microsoft.com/en-us/library/cc772839%28WS.10%29.aspx" target="_blank"&gt;LDAP Overview &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;. &lt;/li&gt;&lt;li&gt;To use LDP.EXE on Windows XP, you must download and install &lt;a title="Windows XP SP2 Support Tools" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyId=49AE8576-9BB9-4126-9761-BA8011FABF38" target="_blank"&gt;Windows XP Service Pack 2 Support Tools &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;. &lt;/li&gt;&lt;li&gt;For Windows Vista, Windows 7, or non-domain controller Windows Server 2008, or Windows Server 2008 R2 computers, see &lt;a title="RSAT" href="http://social.technet.microsoft.com/wiki/contents/articles/remote-server-administration-tools-rsat-for-windows-vista-windows-7-windows-server-2008-and-windows-server-2008-r2-dsforum2wiki.aspx" target="_blank"&gt;Remote Server Administration Tools (RSAT) for Windows Vista, Windows 7, Windows Server 2008, and Windows Server 2008 R2&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;On the &lt;strong&gt;Connection &lt;/strong&gt;menu, click &lt;strong&gt;Connect&lt;/strong&gt;. &lt;/li&gt;&lt;li&gt;Type the name of the LDAP server (e.g. domain controller or AD LDS/ADAM server) to which you want to connect. &lt;/li&gt;&lt;li&gt;Type &lt;strong&gt;636 &lt;/strong&gt;as the port number. &lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;OK&lt;/strong&gt;. &lt;/li&gt;&lt;/ol&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a name="Troubleshooting"&gt;Troubleshooting LDAP over SSL&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;When you have issues with LDAPS, there are several different things that can be wrong. One of the best walkthrough documents regarding troubleshooting LDAPS is on the Ask DS Blog in which a&amp;nbsp;Senior Escalation engineer walks through verification and troubleshooting: &lt;a title="Verifying the certificate is valid for Server Authentication" href="http://blogs.technet.com/b/askds/archive/2008/03/13/troubleshooting-ldap-over-ssl.aspx" target="_blank"&gt;Troubleshooting LDAP over SSL &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;. There is only one Event ID that is directly related to LDAP over SSL, which is Event 1220, expanded upon in the destination of the link in the list below. The rest of the links are related to LDAP signing. LDAP signing does not encrypt the communications traveling between the LDAP server and client. LDAP signing verifies the identity of the client attempting an LDAP bind and helps to mitigate the chance of replay and man-in-the middle attacks. For more information on LDAP signing, see &lt;strong&gt;&lt;a title="LDAP signing article on MSDN" href="http://msdn.microsoft.com/en-us/library/ee406098%28v=ws.10%29.aspx" target="_blank"&gt;LDAP Signing &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;&lt;/strong&gt;and&lt;strong&gt; &lt;a href="http://support.microsoft.com/kb/935834" target="_blank"&gt;How to enable LDAP Signing in Windows Server 2008. &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&#xD;
&lt;ul&gt;&lt;li&gt;&lt;a title="Event ID 1220 LDAPS" href="http://social.technet.microsoft.com/wiki/contents/articles/event-id-1220-ldap-over-ssl-ldaps.aspx" target="_blank"&gt;Event ID 1220 - LDAP over SSL&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a title="Event ID 2886 LDAP signing" href="http://technet.microsoft.com/en-us/library/dd941829%28WS.10%29.aspx" target="_blank"&gt;Event ID 2886 &amp;#8212; LDAP signing &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;: is logged one each time the domain controller is started, if you do not have signing required enabled on your domain controller.&lt;/li&gt;&lt;li&gt;&lt;a title="Event ID 2887 LDAP signing" href="http://technet.microsoft.com/en-us/library/dd941856%28WS.10%29.aspx" target="_blank"&gt;Event ID 2887 - &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;If signing required is not enabled, this event keeps a count of how many unsigned binds occurred in the previous 24 hours. The event is logged every 24 hours.&lt;/li&gt;&lt;li&gt;&lt;a title="LDAP signing" href="http://technet.microsoft.com/en-us/library/dd941863%28WS.10%29.aspx" target="_blank"&gt;Event ID 2888 - &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;If signing required is enabled, then this even keeps a count of how many unsigned LDAP binds occurred in the previous 24 hours. Since LDAP signing is required, the binds would be rejected. This is a notice to administrators to investigate the client computers that are trying to bind without signing.&lt;/li&gt;&lt;li&gt;&lt;a title="LDAP Signing Event ID 2889" href="http://technet.microsoft.com/en-us/library/dd941849%28WS.10%29.aspx" target="_blank"&gt;Event ID 2889- &lt;img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"  alt="" /&gt; &lt;/a&gt;Administrators can enable this event to to help identify client computers that are attempting to bind without signing. This event is logged with the IP address and the bind identity of the client each time an unsigned bind is performed or attempted.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2217529.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/10/19/2217529.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/10/17/2214540.html</id><title type="text">专有软件不是唯一！试试54款开源服务器软件[转]</title><summary type="text">据斯坦福大学的咨询学教授Jonathon Koomey近期作所的一项调查显示，全球已安装的服务器总数约为3160万台，包括设在美国的大约1150万台。如果企业机构针对所有那些系统只能使用专有软件，因而带来的成本就会高得惊人。 幸好，开源社区提供了数量巨大的服务器软件，可以大幅降低那些成本。我们这次列出的大全主要介绍了可以替换专有服务器软件的知名开源工具。我们对它们进行了分类，以便浏览起来更方便。内容管理系统篇1. Joomla替换OpenText、Sitecore CMS和Kentico网址：http://www.joomla.org/Joomla被誉为是“世界上最受欢迎的开源CMS（内容管理</summary><published>2011-10-17T00:34:00Z</published><updated>2011-10-17T00:34:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/10/17/2214540.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/10/17/2214540.html"/><content type="html">据斯坦福大学的咨询学教授Jonathon Koomey近期作所的一项调查显示，全球已安装的服务器总数约为3160万台，包括设在美国的大约1150万台。如果企业机构针对所有那些系统只能使用专有软件，因而带来的成本就会高得惊人。 &#xD;
&lt;p&gt;幸好，开源社区提供了数量巨大的服务器软件，可以大幅降低那些成本。我们这次列出的大全主要介绍了可以替换专有服务器软件的知名开源工具。我们对它们进行了分类，以便浏览起来更方便。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;内容管理系统篇&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;1. Joomla替换OpenText、Sitecore CMS和Kentico&lt;br /&gt;网址：&lt;a href="http://www.joomla.org/"&gt;&lt;font color="#004276"&gt;http://www.joomla.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Joomla被誉为是&amp;#8220;世界上最受欢迎的开源CMS（内容管理系统）&amp;#8221;，它支持网上2.7%的网站的运行，包括哈佛大学、花旗银行、连锁餐厅国际薄饼屋（IHOP）和古根海姆博物馆等知名机构的网站。它为你同时提供了管理网站内容的存储库和自行开发Web应用程序的平台。支持的操作系统：与操作系统无关。&lt;/p&gt;&#xD;
&lt;p&gt;2. Drupal替换OpenText、Sitecore CMS和Kentico&lt;br /&gt;网址：&lt;a href="http://drupal.org/"&gt;&lt;font color="#004276"&gt;http://drupal.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;这款非常受欢迎的CMS的知名用户包括：美国白宫、《经济学人》杂志、《Fast Company》杂志和世界野生动物基金会。它高度灵活、稳健，可用于&amp;#8220;从个人博客到企业应用系统的一切环境。&amp;#8221;支持的操作系统：与操作系统无关。&lt;/p&gt;&#xD;
&lt;p&gt;3. XOOPS替换OpenText、Sitecore CMS和Kentico&lt;br /&gt;网址：&lt;a href="http://www.xoops.org/"&gt;&lt;font color="#004276"&gt;http://www.xoops.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;这款屡获奖项的Web内容管理系统提供了易用性和模块化设计。它基于MySQL数据库，包括了一些高级的用户管理功能。支持的操作系统：与操作系统无关。&lt;/p&gt;&#xD;
&lt;p&gt;4. Alfresco替换SharePoint、Documentum和Open Text&lt;br /&gt;网址：&lt;a href="http://www.alfresco.com/"&gt;&lt;font color="#004276"&gt;http://www.alfresco.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Alfresco将文档管理、Web内容管理、记录管理和协作等功能融入到一款软件包中。除了免费的社区版外，它还提供企业版和云版本。支持的操作系统：Windows和Linux。&lt;/p&gt;&#xD;
&lt;p&gt;5. DotNetNuke替换OpenText、Sitecore CMS和Kentico&lt;br /&gt;网址：&lt;a href="http://www.dotnetnuke.com/"&gt;&lt;font color="#004276"&gt;http://www.dotnetnuke.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;被70万个网址所使用的DotNetNuke声称是&amp;#8220;面向ASP.NET的领先的开源Web内容管理系统&amp;#8221;。它提供了免费的社区版和收费的专业版。此外，还为付费用户提供了10000多个模块和皮肤。支持的操作系统：Windows。&lt;/p&gt;&#xD;
&lt;p&gt;6. Get Simple替换OpenText、Sitecore CMS和Kentico&lt;br /&gt;网址：&lt;a href="http://get-simple.info/"&gt;&lt;font color="#004276"&gt;http://get-simple.info/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;这款CMS的下载数量超过了60000人次，人气越来越旺，尤其备受中小企业的追捧。顾名思义，它赖以成名的地方是简洁性和直观的界面。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;7. Liferay替换SharePoint和WebSphere&lt;br /&gt;网址：&lt;a href="http://www.liferay.com/web/guest/home"&gt;&lt;font color="#004276"&gt;http://www.liferay.com/web/guest/home&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Liferay包括了内容及文档管理、Web发布、共享工作场所、协作、社交网络和身份管理等功能。它自称比WebSphere更简单、比Sharepoint更灵活。它还提供了一款商业支持的企业版。支持的操作系统：与操作系统无关。&lt;/p&gt;&#xD;
&lt;p&gt;8. Magnolia换成SharePoint、OpenText、Sitecore CMS和Kentico&lt;br /&gt;网址：&lt;a href="http://www.magnolia-cms.com/"&gt;&lt;font color="#004276"&gt;http://www.magnolia-cms.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Magnolia声称拥有《财富》500强公司和100多个国家的政府用户，其目的在于让企业用户容易输入和编辑Web内容。提供根据服务级别协议（SLA）来收费的商业版。支持的操作系统：Windows和Linux。&lt;/p&gt;&#xD;
&lt;p&gt;9. WebGUI替换OpenText、Sitecore CMS和Kentico&lt;br /&gt;网址：&lt;a href="http://www.webgui.org/"&gt;&lt;font color="#004276"&gt;http://www.webgui.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;WebGUI自称是&amp;#8220;一体化的CMS&amp;#8221;，它同时提供了Web内容管理平台和Web应用开发平台。为了帮助用户学会使用软件，该网站还提供了视频教程和每周一次的培训网上研讨会。支持的操作系统：Windows、Linux/Unix和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;10. Owl Intranet Knowledgebase替换Interspire知识管理器&lt;br /&gt;网址：&lt;a href="http://owl.anytimecomm.com/"&gt;&lt;font color="#004276"&gt;http://owl.anytimecomm.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Owl让你可以创建知识库或FAQ网站。它提供正式版和不用数据库的&amp;#8220;超简化&amp;#8221;版。支持的操作系统：Windows和Linux。&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;11. MySQL替换微软SQL Server&lt;br /&gt;网址：&lt;a href="http://www.mysql.com/"&gt;&lt;font color="#004276"&gt;http://www.mysql.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;甲骨文旗下的MySQL被誉为是&amp;#8220;世界上最受欢迎的开源数据库&amp;#8221;，声称拥有高性能、高可用性和高易用性等优点。除了免费的社区版外，它还提供收费的标准版、企业版和集群电信级版。支持的操作系统：Windows、Linux和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;12. PostgreSQL替换微软SQL Server&lt;br /&gt;网址：&lt;a href="http://www.postgresql.org/"&gt;&lt;font color="#004276"&gt;http://www.postgresql.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;PostgreSQL自称是&amp;#8220;世界上最先进的开源数据库。&amp;#8221;主要的功能包括：多版本并发性控制（MVCC）、时间点恢复、联机备份/热备份、异步复制、嵌套事务（保存点）和确保容错性的预写式日志功能。支持的操作系统：Windows、Linux和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;13. Firebird替换微软SQL Server&lt;br /&gt;网址：&lt;a href="http://www.firebirdsql.org/"&gt;&lt;font color="#004276"&gt;http://www.firebirdsql.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Firebird自1981年以来就在开发之中，它是一款成熟的关系数据库管理系统（RDBMS），拥有出色的并发性、扩展性和性能。主要功能包括：多代架构、与ANSI SQL高度兼容、日志和监控功能、联机备份、全文本搜索及更多功能。支持操作系统：Windows、Linux、Unix、OS X和Solaris。&lt;/p&gt;&#xD;
&lt;p&gt;电子商务篇&lt;br /&gt;14. Magento替换Big Commerce、Volusion和Yahoo Merchant&lt;br /&gt;网址&lt;a href="http://www.magentocommerce.com/"&gt;&lt;font color="#004276"&gt;http://www.magentocommerce.com/&lt;/font&gt;&lt;/a&gt;：&lt;br /&gt;Magento是100000多户商家首选的电子商务平台，包括Dockers、福特、乐斯菲斯（North Face）、三星、Oneida及其他企业。除了免费的社区版外，它还提供收费的专业版和企业版；它还为小公司提供一切就绪的主机托管解决方案。支持的操作系统：Windows、Linux和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;15. PrestaShop替换Big Commerce、Volusion和Yahoo Merchant&lt;br /&gt;网址：&lt;a href="http://www.prestashop.com/"&gt;&lt;font color="#004276"&gt;http://www.prestashop.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;屡获奖项的PrestaShop被全球95000多个网站所使用。提供商业支持和培训，但是费用采用欧元货种。支持的操作系统：Windows、Linux和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;16. Zen Cart替换Big Commerce、Volusion和Yahoo Merchant&lt;br /&gt;网址：&lt;a href="http://www.zen-cart.com/"&gt;&lt;font color="#004276"&gt;http://www.zen-cart.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;一部分由电子商务店主设计的Zen Cart使用非常方便，该网站提供了基本的指导，首先介绍了基本的知识：&amp;#8220;弄一台服务器&amp;#8221;。其功能包括：多种支付方法、多种送货方式、新闻简报管理器、优惠券、批量折扣及其他功能。支持的操作系统：与操作系统无关。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;strong&gt;邮件服务器篇&lt;/strong&gt; &#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;17. Zimbra替换微软Exchange&lt;br /&gt;网址：&lt;a href="http://www.zimbra.com/"&gt;&lt;font color="#004276"&gt;http://www.zimbra.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;现在属于VMware的Zimbra提供了一款灵活而简单的邮件服务器，总体拥有成本很低。除了免费的社区版外，它还提供收费的设备版和网络版，另外提供一款桌面电子邮件客户程序。支持的操作系统：Linux、Unix和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;18. Citadel替换微软Exchange&lt;br /&gt;网址：&lt;a href="http://www.citadel.org/doku.php/start"&gt;&lt;font color="#004276"&gt;http://www.citadel.org/doku.php/start&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;这款一切就绪的邮件服务器支持电子邮件、群组日历、联系人、即时通讯、维基及其他特性，它们都可以通过Web界面来访问。它还提供主机托管版。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;19. Postfix替换微软Exchange&lt;br /&gt;网址：&lt;a href="http://www.postfix.org/"&gt;&lt;font color="#004276"&gt;http://www.postfix.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;据估计，所有邮件服务器中约20%使用Posftix，它是目前最受欢迎的邮件服务器。Postfix最初由IBM研究中心开发而成，作为替代Sendmail的一种更好方案，它之前还被称为&amp;#8220;IBM Secure Mailer&amp;#8221;和&amp;#8220;VMailer&amp;#8221;。支持的操作系统：Linux、Unix、OS X和Solaris。&lt;/p&gt;&#xD;
&lt;p&gt;20. Sendmail替换微软Exchange&lt;br /&gt;网址：&lt;a href="http://www.sendmail.com/sm/open_source/"&gt;&lt;font color="#004276"&gt;http://www.sendmail.com/sm/open_source/&lt;/font&gt;&lt;/a&gt;#&lt;br /&gt;虽然Sendmail的人气近些年来有所下滑，但它在全球使用的邮件服务器中仍占据约16%的比例。还提供支持的硬件设备和虚拟设备，它们都打着Sentrion的品牌名。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;21. Exim替换微软Exchange&lt;br /&gt;网址：&lt;a href="http://www.exim.org/"&gt;&lt;font color="#004276"&gt;http://www.exim.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;在剑桥大学开发的Exim是一款极容易配置的邮件传输代理软件。它每小时可以处理成千上万的电子邮件，但是如果队列不是特别长，它的表现不如本文介绍的其他邮件服务器来得好。支持的操作系统：Linux和Unix。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;文件传输篇&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;22. FileZilla替换CuteFTP和FTP Commander&lt;br /&gt;网址：&lt;a href="http://filezilla-project.org/"&gt;&lt;font color="#004276"&gt;http://filezilla-project.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;FileZilla让你可以在Windows机器上搭建自己的FTP服务器。 这个项目支持FTP、FTPS和SFTP，它还提供了跨平台的FTP客户端。支持的操作系统：Windows。&lt;br /&gt;&lt;strong&gt;操作系统篇&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;23. Ubuntu Server替换Windows Server&lt;br /&gt;网址：&lt;a href="http://www.ubuntu.com/business/server/overview"&gt;&lt;font color="#004276"&gt;http://www.ubuntu.com/business/server/overview&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Ubuntu现在是最受欢迎的Linux版本之一，以易于使用和管理而著称。它随带内置的KVM虚拟化功能，可以与Ubuntu企业云协同运行，让你得以构建私有云。&lt;/p&gt;&#xD;
&lt;p&gt;24. 红帽企业Linux Server更换Windows Server&lt;br /&gt;网址：&lt;a href="http://gb.redhat.com/products/enterprise-linux/server/"&gt;&lt;font color="#004276"&gt;http://gb.redhat.com/products/enterprise-linux/server/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;作为最知名的企业级Linux发行版之一，红帽以可靠性、扩展性和安全性而著称。它包括集成的虚拟化、LAMP堆栈、Eclipse集成开发环境（IDE）和高级管理工具。注意：红帽需要商业支持软件包。&lt;/p&gt;&#xD;
&lt;p&gt;25. SUSE企业Linux Server更换Windows Server&lt;br /&gt;网址：&lt;a href="http://www.suse.com/"&gt;&lt;font color="#004276"&gt;http://www.suse.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;全球有13000多家公司企业在使用SUSE，它的知名客户包括：伦敦证券交易所、欧迪办公（Office Depot）、索尼和沃尔格林连锁药店。除了标准版外，它还提供System z版、桌面版、SAP版、JeOS版及其他版本。与红帽一样，SUSE也需要商业支持；如果你偏爱不受支持的免费版，不妨试试下面的openSUSE。&lt;/p&gt;&#xD;
&lt;p&gt;26. openSUSE替换Windows Server&lt;br /&gt;网址：&lt;a href="http://www.opensuse.org/en/"&gt;&lt;font color="#004276"&gt;http://www.opensuse.org/en/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;对于不需要商业支持的那些人来说，免费的openSUSE还提供服务器版。不过，它提供的功能和选项不如商用版来得丰富。&lt;/p&gt;&#xD;
&lt;p&gt;27. Mandriva Enterprise Server替换Windows Server&lt;br /&gt;网址：&lt;a href="http://www.mandriva.com/en/linux/server/"&gt;&lt;font color="#004276"&gt;http://www.mandriva.com/en/linux/server/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Mandriva自称是&amp;#8220;简单、高性能、易访问的Linux服务器。&amp;#8221;它提供了Web、消息传递、文件、打印、虚拟化和目录服务等。要注意：Mandriva的企业服务器版要收费。&lt;/p&gt;&#xD;
&lt;p&gt;28. Illumos/OpenIndiana替换甲骨文Solaris&lt;br /&gt;网址：&lt;a href="https://www.illumos.org/"&gt;&lt;font color="#004276"&gt;https://www.illumos.org/&lt;/font&gt;&lt;/a&gt;；&lt;a href="http://openindiana.org/"&gt;&lt;font color="#004276"&gt;http://openindiana.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;甲骨文停止OpenSolaris的开发工作后，之前一直致力于这个项目的部分开发人员进而开发出了Illumos项目，开发和修复软件错误的工作并没有间断。如果你在寻找免费版的Solaris，这是适合你的选择。要下载该软件，请访问OpenIndiana网页。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;strong&gt;安全篇&lt;/strong&gt; &#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;29. ASSP替换GFI Mail Essentials、梭子鱼垃圾邮件和病毒防火墙以及Abaca电子邮件保护网关&lt;br /&gt;网址：&lt;a href="http://www.magicvillage.de/~Fritz_Borgstedt/assp/0003D91C-8000001C/"&gt;&lt;font color="#004276"&gt;http://www.magicvillage.de/~Fritz_Borgstedt/assp/0003D91C-8000001C/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;ASSP的全称是&amp;#8220;反垃圾邮件SMTP代理&amp;#8221;，它可以在你的邮件服务器层面阻止垃圾邮件。主要功能包括：很容易通过浏览器来设置、支持大多数邮件服务器、自动加入白名单、通过ClamAV来扫描病毒、贝叶斯过滤器、基于社区的灰名单及更多功能。支持的操作系统：与操作系统无关。&lt;/p&gt;&#xD;
&lt;p&gt;30. Devil-Linux替换梭子鱼下一代防火墙和Check Point Appliances&lt;br /&gt;网址：&lt;a href="http://www.devil-linux.org/home/index.php"&gt;&lt;font color="#004276"&gt;http://www.devil-linux.org/home/index.php&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;这款Linux发行版同时充当网络防火墙和应用服务器。它还含有许多开源网络和服务器监控工具。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;31. P3Scan替换GFI Mail Essentials、Barracuda垃圾邮件和病毒防火墙以及Abaca电子邮件保护网关&lt;br /&gt;网址：&lt;a href="http://p3scan.sourceforge.net/"&gt;&lt;font color="#004276"&gt;http://p3scan.sourceforge.net/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;这款透明的代理服务器可与Clam AV及其他反病毒软件协同运行，扫描进出的电子邮件，以查找各种病毒、蠕虫、特洛伊木马和恶意附件。支持的操作系统：Linux。&lt;br /&gt;&lt;strong&gt;小公司服务器篇&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;32.Zentyal替换Windows Small Business Server&lt;br /&gt;网址：&lt;a href="http://www.zentyal.org/"&gt;&lt;font color="#004276"&gt;http://www.zentyal.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Zentyal将网关、基础架构管理器、统一威胁管理器、办公室服务器及/或统一通信服务器全部做入到一个软件包中。网站上还提供专业支持和培训以及附件。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;33.SME Server替换Windows Small Business Server&lt;br /&gt;网址：&lt;a href="http://wiki.contribs.org/Main_Page"&gt;&lt;font color="#004276"&gt;http://wiki.contribs.org/Main_Page&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;SME基于CentOS这个Linux发行版，提供了文件及打印共享、邮件服务器、网络防火墙、远程访问、Web应用服务器及更多功能。它声称拥有数千个用户，有良好的安全性，设置和操作起来很方便。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;服务器日志文件监控和分析篇&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;34. AWStats替换Sawmill和TriGeo&lt;br /&gt;网址：&lt;a href="http://awstats.sourceforge.net/"&gt;&lt;font color="#004276"&gt;http://awstats.sourceforge.net/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;AWStats使用来自你Web服务器、流媒体服务器、FTP服务器或邮件服务器的日志文件，创建易于阅读的图形化报告。它可以从命令行来运行，也可以作为CGI来运行。支持的操作系统：Windows、Linux和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;35. Analog替换Sawmill和TriGeo&lt;br /&gt;网址：&lt;a href="http://www.analog.cx/"&gt;&lt;font color="#004276"&gt;http://www.analog.cx/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Analog自诩为&amp;#8220;世界上最受欢迎的日志文件分析器&amp;#8221;，它可以为Web服务器迅速生成使用方面的统计数字。它可以与Report Magic结合使用，创建更吸引人的图表。请注意：这个项目有一段时间没有更新了，但是它仍用于分析许多服务器上的流量。支持的操作系统：Windows、Linux和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;36. Webalizer替换Sawmill和TriGeo&lt;br /&gt;网址：&lt;a href="http://www.mrunix.net/webalizer/"&gt;&lt;font color="#004276"&gt;http://www.mrunix.net/webalizer/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;与AWStats日志文件分析器一样，Webalyzer也可以分析来自Web服务器的统计数字。默认情况下，它可以创建年度和月度报告，可以通过任何浏览器来查看这些报告。支持的操作系统：Windows、Linux和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;37. Snare替换LogLogic和SenSage Log Management&lt;br /&gt;网址：&lt;a href="http://www.intersectalliance.com/projects/index.html"&gt;&lt;font color="#004276"&gt;http://www.intersectalliance.com/projects/index.html&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Snare项目包含许多不同的工具和代理，它们都有助于过滤、收集和监控服务器日志文件。同一个网站上还提供商业支持的Snare Server和专有的Snare Server。支持的操作系统：Windows、Linux、OS X及其他操作系统。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;strong&gt;存储篇&lt;/strong&gt; &#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;38. FreeNAS替换Isilon产品、IPDATA设备和网件ReadyNAS&lt;br /&gt;网址：&lt;a href="http://www.freenas.org/"&gt;&lt;font color="#004276"&gt;http://www.freenas.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;这款应用软件基于BSD，让你可以创建网络附加存储，用于跨Windows、OS X、Linux和Unix之类的系统来共享文件。主要功能包括：基于Web的界面、泽字节文件系统（ZFS）、快照、自动精简配置及更多功能。支持的操作系统：FreeBSD。&lt;/p&gt;&#xD;
&lt;p&gt;39. Gluster替换Isilon产品、IPDATA设备和网件ReadyNAS&lt;br /&gt;网址：&lt;a href="http://www.gluster.org/"&gt;&lt;font color="#004276"&gt;http://www.gluster.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Gluster最近被红帽收购，它为基于公共云和私有云的存储提供了开源文件系统。Gluster文件系统与大众化硬件结合使用，就能构建容量可以扩展到72波字节（1波字节＝1027字节）的网络存储解决方案。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;40. Openfiler替换IPDATA设备和网件ReadyNAS&lt;br /&gt;网址：&lt;a href="http://www.openfiler.com/"&gt;&lt;font color="#004276"&gt;http://www.openfiler.com/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Openfiler的下载次数超过了250000人次，它提供了基于文件的网络附加存储和基于数据块的存储区域网络。主要功能包括基于卷的分区、iSCSI（目标和初始器）、预定快照、资源配额和用于管理共享区的统一界面。支持的操作系统：Linux。&lt;br /&gt;&lt;strong&gt;虚拟化篇&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;41. Xen替换VMware产品和微软Hyper-V&lt;br /&gt;网址：&lt;a href="http://xen.org/"&gt;&lt;font color="#004276"&gt;http://xen.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Xen虚拟机管理程序被许多商用云服务所使用，它内置在大多数Linux发行版中，还作为一个设备来提供。包括思杰XenServer在内的许多商用虚拟化产品建立在Xen的基础上。支持的操作系统：Windows、Linux、Solaris及其他操作系统。&lt;/p&gt;&#xD;
&lt;p&gt;42. VirtualBox替换VMware产品和微软Hyper-V&lt;br /&gt;网址：&lt;a href="https://www.virtualbox.org/"&gt;&lt;font color="#004276"&gt;https://www.virtualbox.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;VirtualBox为x86和AMD 64位/英特尔64位服务器和桌面系统提供虚拟化。可以从甲骨文网站下载预制的VirtualBox设备。支持的操作系统：Windows、Linux、OS X、Solaris及其他操作系统。&lt;/p&gt;&#xD;
&lt;p&gt;43. OpenVZ替换VMware产品和微软Hyper-V&lt;br /&gt;网址：&lt;a href="http://wiki.openvz.org/Main_Page"&gt;&lt;font color="#004276"&gt;http://wiki.openvz.org/Main_Page&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;OpenVZ对虚拟化采取了不同的方案：不像VMware、VirtualBox及其他许多虚拟化解决方案使用虚拟机，OpenVZ通过虚拟环境（VE）或虚拟专用服务器（VPS）提供了基于容器的虚拟化。基于OpenVZ的商用产品作为Parallels Virtuozzo Containers来销售。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;44. KVM替换VMware产品和微软Hyper-V&lt;br /&gt;网址：&lt;a href="http://www.linux-kvm.org/page/Main_Page"&gt;&lt;font color="#004276"&gt;http://www.linux-kvm.org/page/Main_Page&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;KVM的全称是&amp;#8220;基于内核的虚拟机&amp;#8221;，它让用户得以在单单一台服务器上运行多个Linux或Windows虚拟机。与Xen一样，它也内置在许多Linux发行版中。支持的操作系统：Windows和Linux。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;strong&gt;虚拟化篇&lt;/strong&gt; &#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;41. Xen替换VMware产品和微软Hyper-V&lt;br /&gt;网址：&lt;a href="http://xen.org/"&gt;&lt;font color="#004276"&gt;http://xen.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;Xen虚拟机管理程序被许多商用云服务所使用，它内置在大多数Linux发行版中，还作为一个设备来提供。包括思杰XenServer在内的许多商用虚拟化产品建立在Xen的基础上。支持的操作系统：Windows、Linux、Solaris及其他操作系统。&lt;/p&gt;&#xD;
&lt;p&gt;42. VirtualBox替换VMware产品和微软Hyper-V&lt;br /&gt;网址：&lt;a href="https://www.virtualbox.org/"&gt;&lt;font color="#004276"&gt;https://www.virtualbox.org/&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;VirtualBox为x86和AMD 64位/英特尔64位服务器和桌面系统提供虚拟化。可以从甲骨文网站下载预制的VirtualBox设备。支持的操作系统：Windows、Linux、OS X、Solaris及其他操作系统。&lt;/p&gt;&#xD;
&lt;p&gt;43. OpenVZ替换VMware产品和微软Hyper-V&lt;br /&gt;网址：&lt;a href="http://wiki.openvz.org/Main_Page"&gt;&lt;font color="#004276"&gt;http://wiki.openvz.org/Main_Page&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;OpenVZ对虚拟化采取了不同的方案：不像VMware、VirtualBox及其他许多虚拟化解决方案使用虚拟机，OpenVZ通过虚拟环境（VE）或虚拟专用服务器（VPS）提供了基于容器的虚拟化。基于OpenVZ的商用产品作为Parallels Virtuozzo Containers来销售。支持的操作系统：Linux。&lt;/p&gt;&#xD;
&lt;p&gt;44. KVM替换VMware产品和微软Hyper-V&lt;br /&gt;网址：&lt;a href="http://www.linux-kvm.org/page/Main_Page"&gt;&lt;font color="#004276"&gt;http://www.linux-kvm.org/page/Main_Page&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;KVM的全称是&amp;#8220;基于内核的虚拟机&amp;#8221;，它让用户得以在单单一台服务器上运行多个Linux或Windows虚拟机。与Xen一样，它也内置在许多Linux发行版中。支持的操作系统：Windows和Linux。&lt;br /&gt;&lt;strong&gt;维基/协作篇&lt;/strong&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;51. DokuWiki替换Confluence和SamePage&lt;br /&gt;网址：&lt;a href="http://www.dokuwiki.org/dokuwiki"&gt;&lt;font color="#004276"&gt;http://www.dokuwiki.org/dokuwiki&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;如果你仅仅需要一个简单的维基，DokuWiki就很容易使用，符合许多标准，又不需要另外的数据库。可以通过多家第三方公司获得商业支持。支持的操作系统：与操作系统无关。&lt;/p&gt;&#xD;
&lt;p&gt;52. MediaWiki替换Confluence和SamePage&lt;br /&gt;网址：&lt;a href="http://www.mediawiki.org/wiki/MediaWiki"&gt;&lt;font color="#004276"&gt;http://www.mediawiki.org/wiki/MediaWiki&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;MediaWiki是大名鼎鼎的维基百科软件，它能处理数据多达TB、每秒点击上千次的极大项目。它极容易定制，最终用户学用起来也很简单。支持的操作系统：Windows、Linux/Unix和OS X。&lt;/p&gt;&#xD;
&lt;p&gt;53. MindTouch Core替换Sharepoint和IBM Lotus&lt;br /&gt;网址：&lt;a href="http://www.mindtouch.com/resources/community"&gt;&lt;font color="#004276"&gt;http://www.mindtouch.com/resources/community&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;虽然要在其公司网站上找到开源版的MindTouch有点难度，但是核心维基程序的源代码仍可以免费下载。据网站声称，它被列为首屈一指的开源协作工具。该公司还提供基于开源引擎的其他几款产品。支持的操作系统：Windows和Linux。&lt;/p&gt;&#xD;
&lt;p&gt;54. TikiWiki替换Confluence和SamePage&lt;br /&gt;网址：&lt;a href="http://info.tiki.org/tiki-index.php"&gt;&lt;font color="#004276"&gt;http://info.tiki.org/tiki-index.php&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;TikiWiki不仅仅是一个维基，它还提供对论坛、博客、图片库、地图服务器、RSS新闻源、软件错误跟踪器及更多内容的支持。它的下载次数超过了900000人次，目前支持成千上万个网站的运行。支持的操作系统：与操作系统无关。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2214540.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/10/17/2214540.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/10/14/2212421.html</id><title type="text">AD 端口相关</title><summary type="text">LDAP: 389LDAPS: 636DNS:53AD复制时指定静态端口：HKEY_LOCAL_MACHINE/SYSTEM/CURRENTcONTROLSet\Services\ntds\paramters添加一个：TCP/IP Port Reg-DWord 56789或是：（2008前）RCP TCP/IP Port Assignment Reg-DWord 345678命令绑定：DFSKDIAG StaticRPC /Port:345678windows ServeBackupHKLM/System/CurrentControlSet/Services/Wbengine/SystemSt</summary><published>2011-10-14T09:07:00Z</published><updated>2011-10-14T09:07:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/10/14/2212421.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/10/14/2212421.html"/><content type="html">&lt;p&gt;LDAP: 389&lt;/p&gt;&#xD;
&lt;p&gt;LDAPS: 636&lt;/p&gt;&#xD;
&lt;p&gt;DNS:53&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;AD复制时指定静态端口：HKEY_LOCAL_MACHINE/SYSTEM/CURRENTcONTROLSet\Services\ntds\paramters&lt;/p&gt;&#xD;
&lt;p&gt;添加一个：TCP/IP Port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reg-DWord&amp;nbsp;&amp;nbsp; 56789&lt;/p&gt;&#xD;
&lt;p&gt;或是：（2008前）&lt;/p&gt;&#xD;
&lt;p&gt;RCP TCP/IP Port Assignment&amp;nbsp;&amp;nbsp; Reg-DWord&amp;nbsp;&amp;nbsp; 345678&lt;/p&gt;&#xD;
&lt;p&gt;命令绑定：DFSKDIAG StaticRPC /Port:345678&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;windows ServeBackup&lt;/p&gt;&#xD;
&lt;p&gt;HKLM/System/CurrentControlSet/Services/Wbengine/SystemStateBackup&lt;/p&gt;&#xD;
&lt;p&gt;AllowSSBToAnyVolume Dword 1&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2212421.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/10/14/2212421.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jamin/archive/2011/10/14/2212101.html</id><title type="text">2008R2 AD 启用回收站</title><summary type="text">当误删除AD中的对象时，可以通过“目录还原”模式来找回。但是这段时间内，域控制器会暂停对客户端服务。所以有用“回收站”功能的必要。一旦启用，无法停用。且域与林功能级别无法再被降级。1、用系统管理员身份登录2、开始》管理工具》用于PowerShell的AD模块3、Enable-ADOptionalFeature &amp;#39;Recycle Bin Feature&amp;#39; -scope ForestOrConfigurationSet -Target &amp;#39;7csky.cn&amp;#39;按提示操作即可还原被删除的对象：一、1、用系统管理员身份登录2、开始》管理工具》用于PowerShell的AD模</summary><published>2011-10-14T05:25:00Z</published><updated>2011-10-14T05:25:00Z</updated><author><name>jamin</name><uri>http://www.cnblogs.com/jamin/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jamin/archive/2011/10/14/2212101.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jamin/archive/2011/10/14/2212101.html"/><content type="html">&lt;p&gt;当误删除AD中的对象时，可以通过&amp;#8220;目录还原&amp;#8221;模式来找回。但是这段时间内，域控制器会暂停对客户端服务。&lt;/p&gt;&#xD;
&lt;p&gt;所以有用&amp;#8220;回收站&amp;#8221;功能的必要。一旦启用，无法停用。且域与林功能级别无法再被降级。&lt;/p&gt;&#xD;
&lt;p&gt;1、用系统管理员身份登录&lt;/p&gt;&#xD;
&lt;p&gt;2、开始》管理工具》用于PowerShell的AD模块&lt;/p&gt;&#xD;
&lt;p&gt;3、Enable-ADOptionalFeature 'Recycle Bin Feature' -scope ForestOrConfigurationSet -Target '7csky.cn'&lt;/p&gt;&#xD;
&lt;p&gt;按提示操作即可&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;还原被删除的对象：&lt;/p&gt;&#xD;
&lt;p&gt;一、&lt;/p&gt;&#xD;
&lt;p&gt;1、用系统管理员身份登录&lt;/p&gt;&#xD;
&lt;p&gt;2、开始》管理工具》用于PowerShell的AD模块&lt;/p&gt;&#xD;
&lt;p&gt;Get-ADObject -ladapFilter:"(misDS-LastKnownRDN=*)" -IncludeDeletedObjects&lt;/p&gt;&#xD;
&lt;p&gt;查找删除的对象&lt;/p&gt;&#xD;
&lt;p&gt;3、还原用户&lt;/p&gt;&#xD;
&lt;p&gt;Get-ADObject -Filter {displayName -eq 'Jamin'} -IncludeDeletedObjects | Restore-ADObject&lt;/p&gt;&#xD;
&lt;p&gt;二、&lt;/p&gt;&#xD;
&lt;p&gt;1、用系统管理员身份登录&lt;/p&gt;&#xD;
&lt;p&gt;2、开始》运行》ldp.exe&lt;/p&gt;&#xD;
&lt;p&gt;3、选择&amp;#8220;连接&amp;#8221;菜单中的&amp;#8220;连接&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;4、输入服务器名与389端口，连接&lt;/p&gt;&#xD;
&lt;p&gt;5、选择&amp;#8220;连接&amp;#8221;菜单中的&amp;#8220;绑定&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;6、选择&amp;#8220;查看&amp;#8221;菜单中的&amp;#8220;树&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;7、输入林根域：DC=7csky,DC=cn&lt;/p&gt;&#xD;
&lt;p&gt;8、选择&amp;#8220;选项&amp;#8221;菜单中的&amp;#8220;控制&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;9、预定义加载：选择&amp;#8220;Return deleted objects&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;10、就可以看到被删除的用户&amp;#8220;Jamin&amp;#8221;.&lt;/p&gt;&#xD;
&lt;p&gt;11、对着这个用户&amp;#8220;右键》修改&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;12、在编辑条目中：操作选择&amp;#8220;删除&amp;#8221;;属性填写&amp;#8220;isDeleted&amp;#8221;,再点击&amp;#8220;输入&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;13、在编辑条目中：操作选择&amp;#8220;替换&amp;#8221;;属性填写&amp;#8220;distinguishedName&amp;#8221;,值输入&amp;#8220;cn=Jmin,OU=Office,DC=7csky,DC=cn&amp;#8221;&lt;/p&gt;&#xD;
&lt;p&gt;14、运行&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jamin/aggbug/2212101.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jamin/archive/2011/10/14/2212101.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
