正则表达式速查表
最后更新于:2022-04-01 06:00:32
### 正则表达式速查表
| 字符 | 描述 |
|-----|-----|
| \ | 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“`n`”匹配字符“`n`”。“`\n`”匹配一个换行符。串行“`\\`”匹配“`\`”而“`\(`”则匹配“`(`”。 |
| ^ | 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“`\n`”或“`\r`”之后的位置。 |
| $ | 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“`\n`”或“`\r`”之前的位置。 |
| * | 匹配前面的子表达式零次或多次。例如,zo*能匹配“`z`”以及“`zoo`”。*等价于{0,}。 |
| + | 匹配前面的子表达式一次或多次。例如,“`zo+`”能匹配“`zo`”以及“`zoo`”,但不能匹配“`z`”。+等价于{1,}。 |
| ? | 匹配前面的子表达式零次或一次。例如,“`do(es)?`”可以匹配“`does`”或“`does`”中的“`do`”。?等价于{0,1}。 |
| {n} | n是一个非负整数。匹配确定的n次。例如,“`o{2}`”不能匹配“`Bob`”中的“`o`”,但是能匹配“`food`”中的两个o。 |
| {n,} | n是一个非负整数。至少匹配n次。例如,“`o{2,}`”不能匹配“`Bob`”中的“`o`”,但能匹配“`foooood`”中的所有o。“`o{1,}`”等价于“`o+`”。“`o{0,}`”则等价于“`o*`”。 |
| {n,m} | m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“`o{1,3}`”将匹配“`fooooood`”中的前三个o。“`o{0,1}`”等价于“`o?`”。请注意在逗号和两个数之间不能有空格。 |
| ? | 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“`oooo`”,“`o+?`”将匹配单个“`o`”,而“`o+`”将匹配所有“`o`”。 |
| . | 匹配除“`\``n`”之外的任何单个字符。要匹配包括“`\``n`”在内的任何字符,请使用像“`(.|\n)`”的模式。 |
| (pattern) | 匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“`\(`”或“`\)`”。 |
| (?:pattern) | 匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“`(|)`”来组合一个模式的各个部分是很有用。例如“`industr(?:y|ies)`”就是一个比“`industry|industries`”更简略的表达式。 |
| (?=pattern) | 正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“`Windows(?=95|98|NT|2000)`”能匹配“`Windows2000`”中的“`Windows`”,但不能匹配“`Windows3.1`”中的“`Windows`”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 |
| (?!pattern) | 正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“`Windows(?!95|98|NT|2000)`”能匹配“`Windows3.1`”中的“`Windows`”,但不能匹配“`Windows2000`”中的“`Windows`”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始 |
| (?<=pattern) | 反向肯定预查,与正向肯定预查类拟,只是方向相反。例如,“`(?<=95|98|NT|2000)Windows`”能匹配“`2000Windows`”中的“`Windows`”,但不能匹配“`3.1Windows`”中的“`Windows`”。 |
| (?<!pattern) | 反向否定预查,与正向否定预查类拟,只是方向相反。例如“`(?<!95|98|NT|2000)Windows`”能匹配“`3.1Windows`”中的“`Windows`”,但不能匹配“`2000Windows`”中的“`Windows`”。 |
| x|y | 匹配x或y。例如,“`z|food`”能匹配“`z`”或“`food`”。“`(z|f)ood`”则匹配“`zood`”或“`food`”。 |
| [xyz] | 字符集合。匹配所包含的任意一个字符。例如,“`[abc]`”可以匹配“`plain`”中的“`a`”。 |
| [^xyz] | 负值字符集合。匹配未包含的任意字符。例如,“`[^abc]`”可以匹配“`plain`”中的“`p`”。 |
| [a-z] | 字符范围。匹配指定范围内的任意字符。例如,“`[a-z]`”可以匹配“`a`”到“`z`”范围内的任意小写字母字符。 |
| [^a-z] | 负值字符范围。匹配任何不在指定范围内的任意字符。例如,“`[^a-z]`”可以匹配任何不在“`a`”到“`z`”范围内的任意字符。 |
| \b | 匹配一个单词边界,也就是指单词和空格间的位置。例如,“`er\b`”可以匹配“`never`”中的“`er`”,但不能匹配“`verb`”中的“`er`”。 |
| \B | 匹配非单词边界。“`er\B`”能匹配“`verb`”中的“`er`”,但不能匹配“`never`”中的“`er`”。 |
| \cx | 匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“`c`”字符。 |
| \d | 匹配一个数字字符。等价于[0-9]。 |
| \D | 匹配一个非数字字符。等价于[^0-9]。 |
| \f | 匹配一个换页符。等价于\x0c和\cL。 |
| \n | 匹配一个换行符。等价于\x0a和\cJ。 |
| \r | 匹配一个回车符。等价于\x0d和\cM。 |
| \s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 |
| \S | 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。 |
| \t | 匹配一个制表符。等价于\x09和\cI。 |
| \v | 匹配一个垂直制表符。等价于\x0b和\cK。 |
| \w | 匹配包括下划线的任何单词字符。等价于“`[A-Za-z0-9_]`”。 |
| \W | 匹配任何非单词字符。等价于“`[^A-Za-z0-9_]`”。 |
| \xn | 匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“`\x41`”匹配“`A`”。“`\x041`”则等价于“`\x04&1`”。正则表达式中可以使用ASCII编码。. |
| \num | 匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“`(.)\1`”匹配两个连续的相同字符。 |
| \n | 标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。 |
| \nm | 标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。 |
| \nml | 如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。 |
| \un | 匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。 |
### 常用正则表达式
<table class="wikitable" width="100%"><tr><th width="8%">用户名</th> <td width="92%">/^[a-z0-9_-]{3,16}$/</td> </tr><tr><th scope="row">密码</th> <td>/^[a-z0-9_-]{6,18}$/</td> </tr><tr><th scope="row">十六进制值</th> <td>/^#?([a-f0-9]{6}|[a-f0-9]{3})$/</td> </tr><tr><th scope="row">电子邮箱</th> <td>/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/<br /> /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/</td> </tr><tr><th scope="row">URL</th> <td>/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/</td> </tr><tr><th scope="row">IP 地址</th> <td>/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/<br />/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/</td> </tr><tr><th scope="row">HTML 标签</th> <td>/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/</td> </tr><tr><th scope="row">删除代码\\注释</th> <td>(?<!http:|\S)//.*$</td> </tr><!-- <tr> <th scope="row"> </th> <td> </td> </tr>--><tr><th scope="row">Unicode编码中的汉字范围</th> <td>/^[\u2E80-\u9FFF]+$/</td> </tr></table>
HTML5速查表
最后更新于:2022-04-01 06:00:30
### HTML5速查表
<table class="wikitable" width="33%"><tbody><tr class="_th"><th width="15%">标签</th> <th width="30%">描述</th> <th width="15%">版本</th> <th width="40%">属性</th> </tr><tr><th><!--...--></th> <td>定义注释</td> <td align="center">4 / 5</td> <td>none</td> </tr><tr><th><!DOCTYPE></th> <td> 定义文档类型 </td> <td align="center">4 / 5</td> <td>none</td> </tr><tr><th><a></th> <td> 定义超链接,用于从一个页面链接到另一个页面。 </td> <td align="center">4 / 5</td> <td>href | hreflang | media | ping | rel | target | type</td> </tr><tr><th><abbr></th> <td> 定义缩写 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr class="gray"><th><acronym></th> <td>定义首字母缩写</td> <td align="center">4</td> <td>-</td> </tr><tr><th><address></th> <td> 定义文档作者或拥有者的联系信息 .</td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr class="gray"><th><applet></th> <td> 定义嵌入的 applet </td> <td align="center">4</td> <td>-</td> </tr><tr><th><area></th> <td> 定义图像映射内部的区域(图像映射指的是带有可点击区域的图像)。 </td> <td align="center">4 / 5</td> <td>alt | coords | href | hreflang | media | ping | rel | shape | target | type</td> </tr><tr><th><article></th> <td> 定义独立的内容 </td> <td align="center">5</td> <td>全局属性</td> </tr><tr><th><aside></th> <td> 定义页面内容之外的内容 </td> <td align="center">5</td> <td>全局属性</td> </tr><tr><th><audio></th> <td> 定义声音,比如音乐或其他音频流。 </td> <td align="center">5</td> <td>autobuffer | autoplay | controls | loop | src</td> </tr><tr><th><b></th> <td> 定义粗体文本 , 用于强调某些文本 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><base></th> <td> 定义页面上的所有链接规定默认地址或默认目标 </td> <td align="center">4 / 5</td> <td>href | target</td> </tr><tr class="gray"><th><basefont></th> <td> 定义文档中所有文本的默认颜色、大小和字体 </td> <td align="center">4</td> <td>-</td> </tr><tr><th><bb></th> <td> 定义文本的文本方向,使其脱离其周围文本的方向设置。 </td> <td align="center">5</td> <td>type</td> </tr><tr><th><bdi></th> <td> 指的是 bidi 隔离, 允许您设置一段文本,使其脱离其父元素的文本方向设置 .</td> <td align="center">5</td> <td>dir</td> </tr><tr><th><bdo></th> <td> 定义文本显示的方向。 </td> <td align="center">4 / 5</td> <td>dir</td> </tr><tr class="gray"><th><big></th> <td> 定义大号文本。 </td> <td align="center">4</td> <td>-</td> </tr><tr><th><blockquote></th> <td> 定义摘自另一个源的块引用 。 </td> <td align="center">4 / 5</td> <td>cite</td> </tr><tr><th><body></th> <td> 定义文档的主体 。 </td> <td align="center">5</td> <td>全局属性</td> </tr><tr><th><br></th> <td> 插入换行符。 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><button></th> <td> 定义按钮。 </td> <td align="center">4 / 5</td> <td>autofocus | disabled | form | formaction | formenctype | formme-thod | formnovalidate | formtarget | name | type | value</td> </tr><tr><th><canvas></th> <td> 定义图形,比如图表和其他图像 </td> <td align="center">5</td> <td>height | width<br /></td> </tr><tr><th><caption></th> <td> 定义表格标题。 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr class="gray"><th><center></th> <td> 定义居中的文本。 </td> <td align="center">4</td> <td>-</td> </tr><tr><th><cite></th> <td> 定义作品(比如书籍、歌曲、电影、电视节目、绘画、雕塑等等)的标题。 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><code></th> <td> 定义计算机代码文本。 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><col></th> <td> 定义为表格中的一个或多个列定义属性值。 。 </td> <td align="center">4 / 5</td> <td>span</td> </tr><tr><th><colgroup></th> <td> 定义对表格中的列进行组合,以便对其进行格式化。 </td> <td align="center">4 / 5</td> <td>span<br /></td> </tr><tr><th><command></th> <td> 定义命令按钮。 </td> <td align="center">5</td> <td>checked | default | disabled | hidden | icon | label | radiogroup | type</td> </tr><tr><th><datagrid></th> <td> 定义可选数据的列表。 datagrid 作为树列表来显示。 </td> <td align="center">5</td> <td>disabled | multipe</td> </tr><tr><th><datalist></th> <td>定义下拉列表。 请与 input 元素配合使用该元素,来定义 input 可能的值。 </td> <td align="center">5</td> <td>全局属性</td> </tr><tr><th><dd></th> <td> 定义一个定义列表中对项目的描述 。</td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><del></th> <td>定义删除文本。</td> <td align="center">4 / 5</td> <td>cite | datetime</td> </tr><tr><th><details></th> <td> 定义描述文档或文档某个部分的细节。 </td> <td align="center"> 5</td> <td>open</td> </tr><tr><th><dialog></th> <td> 定义对话,比如交谈 </td> <td align="center">5</td> <td>全局属性</td> </tr><tr class="gray"><th><dir></th> <td> 定义目录列表。 </td> <td align="center">4</td> <td>-</td> </tr><tr><th><div></th> <td> 定义文档中的一个部分。 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><dfn></th> <td> 定义一个定义项目。 </td> <td align="center">4 / 5</td> <td>title</td> </tr><tr><th><dl></th> <td> 定义一个定义列表 .</td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><dt></th> <td> 定义一个定义列表中的一个项目。 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><em></th> <td> 呈现为被强调的文本。 </td> <td align="center">4 / 5</td> <td>全局属性</td> </tr><tr><th><embed></th> <td> 定义嵌入的内容,比如插件 </td> <td align="center">5</td> <td>height | src | type | width</td> </tr><tr><th><fieldset></th> <td>定义用于从逻辑上将表单中的元素组合起来。 </td> <td align="center">4 / 5</td> <td>disabled | form | name</td> </tr></tbody></table>
| 标签 | 描述 | 版本 | 属性 |
|-----|-----|-----|-----|
| <figcaption> | 定义 fiqure 元素的标题(caption)。 | 5 | 全局属性 |
| <figure> | 规定独立的流内容(图像、图表、照片、代码等等)。 | 5 | 全局属性 |
| <font> | 规定文本的字体、大小和颜色。 | 4 | - |
| <footer> | 定义 section 或 document 的页脚。 | 5 | 全局属性 |
| <form> | 用于创建供用户输入的 HTML 表单 | 4 / 5 | action | date | replace | accept | accept-charset | enctype | method | target |
| <frame> | 定义子窗口(框架) | 4 | - |
| <frameset> | 定义框架集。 | 4 | - |
| <h1> to <h6> | 定义标题。<h1> 定义最大的标题。<h6> 定义最小的标题 | 4 / 5 | 全局属性 |
| <heda> | 所有头部元素的容器。位于 <head> 内部的元素可以包含脚本、指引浏览器找到样式表、提供元信息,等等。 | 4 / 5 | 无 |
| <header> | 定义文档的页眉(介绍信息)。 | 5 | 全局属性 |
| <hgroup> | 用于对网页或区段(section)的标题进行组合。 | 4 / 5 | 全局属性 |
| <hr> | 水平线,它应该定义内容中的主题变化 | 4 / 5 | 全局属性 |
| <html> | 告知浏览器这是一个 HTML 文档。 | 4 / 5 | manifest |
| <i> | 呈现斜体的文本。 | 4 / 5 | 全局属性 |
| <iframe> | 创建包含另一个文档的行内框架。 | 4 / 5 | src | name | sandbox | seamless | width | height |
| <img> | 定义 HTML 页面中的图像。 | 4 / 5 | alt | src | height | ismap | usemap | width |
| <input> | 规定用户可输入数据的输入字段。 | 4 / 5 | accept | alt | auto-complete | autofocus | checked | disabled | from | formaction | formenctype | formme-thod | formnovalidate | formtarget | height | list | max | maxiength | min | multipe | name | pattern | placeholder | readonly | required | size | src | step | type | value | width |
| <ins> | 定义文档的其余部分之外的插入文本。 | 4 / 5 | cite | datetime |
| <isindex> | 定义单行的输入域。 | 4 | - |
| <keygen> | 规定用于表单的密钥对生成器字段。 | 5 | autofocus | challenge | disabled | form | keytype | name |
| <kbd> | 定义键盘文本。它表示文本是从键盘上键入的。它经常用在与计算机相关的文档或手册中。 | 4 / 5 | 全局属性 |
| <label> | 为 input 元素定义标签(label) | 4 / 5 | for | form |
| <legend> | 为以下元素定义标题(caption):<fieldset>、<figure>、<details>。 | 4 / 5 | 全局属性 |
| <li> | 定义列表项,有序列表和无序列表中都使用 <li> 标签。 | 4 / 5 | value |
| <link> | 定义文档与外部资源之间的关系。 大多数时候都用来连接样式表。 | 4 / 6 | href | rel | media | hreflang | type | sizes |
| <mark> | 定义带有记号的文本。请在需要突出显示文本时使用 <m> 标签 | 5 | 全局属性 |
| <map> | 定义客户端图像映射。图像映射指的是带有可点击区域的图像。 | 4 / 5 | label | type |
| <menu> | 定义菜单列表。当希望列出表单控件时使用该标签。 | 5 | autosubmit | compact | label | type |
| <meta> | 可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。 | 5 | charset | content | http-equiv | name | scheme |
| <meter> | 定义度量衡。仅用于已知最大和最小值的度量。 | 5 | high | low | max | min | optimum | value |
| <nav> | 定义导航链接的部分。 | 5 | 全局属性 |
| <noframes> | 向浏览器显示无法处理框架的提示文本。 | 4 | - |
| <noscript> | 定义在脚本未被执行时的替代内容(文本)。 | 4 / 5 | 无 |
| 标签 | 描述 | 版本 | 属性 |
|-----|-----|-----|-----|
| <object> | 定义一个嵌入的对象。 | 4 / 5 | data | height | type | usemap | width | object |
| <ol> | 定义有序列表。 | 4 / 5 | compact | start | reversed |
| <optgroup> | 定义选项组。此元素允许您组合选项。当您使用一个长的选项列表时,对相关的选项进行组合会使处理更加容易。 | 4 / 5 | disabled | label |
| <option> | 定义下拉列表中的一个选项。 | 4 / 5 | disabled | label | selected | value |
| <output> | 定义不同类型的输出,比如脚本的输出。 | 5 | form | for | name |
| <p> | 定义段落 | 4 / 5 | 全局属性 |
| <param> | 允许您为插入 XHTML 文档的对象规定 run-time 设置,也就是说,此标签可为包含它的 <object> 标签提供参数。 | 4 / 5 | name | value | type | valuetype |
| <pre> | 定义预格式化文本。 | 4 / 5 | 全局属性 |
| <progress> | 定义运行中的进度(进程)。 | 5 | max | value |
| <q> | 定义一个短的引用。 | 4 / 5 | cite |
| <ruby> | 定义 ruby 注释。 | 5 | 全局属性 |
| <rp> | 定义若浏览器不支持 ruby 元素显示的内容。 | 5 | 全局属性 |
| <rt> | 义 ruby 注释的解释。 | 5 | 全局属性 |
| <s> | 定义加删除线的文本 | 4 | - |
| <samp> | 定义样本计算机代码。 | 4 / 5 | 全局属性 |
| <script> | 定义脚本。 | 4 / 5 | async | type | defer | src | charset |
| <section> | 定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分 | 5 | cite |
| <select> | 创建下拉列表 | 4 / 5 | autofocus | data | disabled | form | multiple | name |
| <small> | 将旁注 (side comments) 呈现为小型文本。 | 4 / 5 | 全局属性 |
| <source> | 为媒介元素(比如 <video> 和 <audio>)定义媒介资源。 | 5 | media | src | type |
| <span> | 用于对文档中的行内元素进行组合 | 4 / 5 | 全局属性 |
| <strike> | 定义加删除线的文本。 | 4 | - |
| <strong> | 定义重要的文本 . | 4 / 5 | 全局属性 |
| <style> | 定义 HTML 文档的样式信息。 | 4 / 5 | media | type | scoped |
| <sub> | 定义下标文本 | 4 / 5 | 全局属性 |
| <sup> | 定义上标文本。 | 4 / 5 | 全局属性 |
| <summary> | 包含 details 元素的标题,"details" 元素用于描述有关文档或文档片段的详细信息。 | 4 / 5 | 全局属性 |
| <table> | 定义 HTML 表格 | 4 / 5 | 全局属性 |
| <tbody> | 定义表格的主体。 | 4 / 5 | 全局属性 |
| <td> | 定义表格单元 | 4 / 5 | colspan | rowspan | headers |
| <textarea> | 定义一个文本区域 (text-area) (一个多行的文本输入区域)。 | 4 / 5 | autofocus | cols | disabled | form | name | feadonly | required | required | rows | maxlength | placeholder | wrap |
| <tfoot> | 定义表格的页脚(脚注) | 4 / 5 | 全局属性 |
| <th> | 定义 HTML 表格中的表头单元格。 | 4 / 5 | colspan | rowspan | scope |
| <thead> | 定义表格的表头。 | 4 / 5 | 全局属性 |
| <time> | 定义公历的时间(24 小时制)或日期,时间和时区偏移是可选的。 | 5 | datetime |
| <title> | 定义文档的标题 | 4 | 无 |
| <tr> | 定义表格中的行。 | 4 / 5 | 全局属性 |
| <track> | 为诸如 video 元素之类的媒介规定外部文本轨道。 | 5 | default | kind | label | src | srclang |
| <tt> | 定义打字机文本。 | 4 | - |
| <u> | 定义下划线文本 。 | 4 | - |
| <ul> | 定义无序列表。 | 4 / 5 | 全局属性 |
| <var> | 定义变量。 | 4 / 5 | 全局属性 |
| <video> | 定义视频,比如电影片段或其他视频流。 | 5 | src | poster | autobuffer | autoplay | loop | controls | width | height |
| <xmp> | 定义预格式文本。 | 4 | - |
其它
最后更新于:2022-04-01 06:00:27
提交bug及获取更新
最后更新于:2022-04-01 06:00:25
### 提交bug及获取更新
### 概述
如果大家使用过程中发现了什么翻译错误,可以给我Email:hm@hemin.cn来反馈。
### 版本信息:
$Rev: 1.8.0 $
$Author: hemin $
$Date: 2012-08-29 02:57:10 +0800 (周三)
### 检查更新:
检查更新
### hemin制作【hm@hemin.cn】
关于jQuery API 文档
最后更新于:2022-04-01 06:00:23
### 关于jQuery API 中文文档
### 概述
官方jQuery API :[http://api.jquery.com/](http://api.jquery.com/)
官方jQuery 源码:[http://code.jquery.com/](http://code.jquery.com/)
因国内jquery中文手册更新太慢了,等了一段时间实在等不下去了,干脆自己动手做一个丰衣足食,时刻更新.
最后感谢Shawphy提供1.4.1版,jehn提供1.5.2版,julying提供1.7
### hemin制作【hm@hemin.cn】
关于
最后更新于:2022-04-01 06:00:20
jQuery.callbacks(flags)
最后更新于:2022-04-01 06:00:18
### 返回值:jQueryjQuery.callbacks(flags)
### 概述
一个多用途的回调列表对象,提供了强大的的方式来管理回调函数列表。
$.Callbacks()的内部提供了jQuery的$.ajax() 和 $.Deferred() 基本功能组件。它可以用来作为类似基础定义的新组件的功能。
$.Callbacks() 支持的方法,包括 [callbacks.add()](http://www.css88.com/callbacks.add/),[callbacks.remove()](http://www.css88.com/callbacks.remove/), [callbacks.fire()](http://www.css88.com/callbacks.fire/) and [callbacks.disable()](http://www.css88.com/callbacks.disable/).
### 参数
#### **flags***V1.7*
一个用空格标记分隔的标志可选列表,用来改变回调列表中的行为
### 示例
#### 入门描述:
以下是两个样品的方法命名fn1 and fn2:
##### jQuery 代码:
~~~
function fn1( value ){
console.log( value );
}
function fn2( value ){
fn1("fn2 says:" + value);
return false;
}
~~~
这些可以添加为回调函数作为一个$.Callbacks的列表,并调用如下:
~~~
var callbacks = $.Callbacks();
callbacks.add( fn1 );
callbacks.fire( "foo!" ); // outputs: foo!
callbacks.add( fn2 );
callbacks.fire( "bar!" ); // outputs: bar!, fn2 says: bar!
~~~
这样做的结果是,它使构造复杂的回调列表变得简单,输入值可以通过尽可能多的函数根据需要轻松使用。
用于以上的两个具体的方法: .add() 和 .fire() .add() 支持添加新的回调回调列表, 而.fire() 提供了一种用于处理在同一列表中的回调方法的途径.
另一种方法由$.Callbacks 的remove(),用于从回调列表中删除一个特定的回调。下面是.remove() 使用的一个例子:
~~~
var callbacks = $.Callbacks();
callbacks.add( fn1 );
callbacks.fire( "foo!" ); // outputs: foo!
callbacks.add( fn2 );
callbacks.fire( "bar!" ); // outputs: bar!, fn2 says: bar!
callbacks.remove(fn2);
callbacks.fire( "foobar" );
// only outputs foobar, as fn2 has been removed.
~~~
#### 支持的 Flags描述:
这个 flags 参数是$.Callbacks()的一个可选参数, 结构为一个用空格标记分隔的标志可选列表,用来改变回调列表中的行为 (比如. $.Callbacks( 'unique stopOnFalse' )).
**可用的 flags: **
- once: 确保这个回调列表只执行一次(像一个递延 Deferred).
- memory: 保持以前的值和将添加到这个列表的后面的最新的值立即执行调用任何回调 (像一个递延 Deferred).
- unique: 确保一次只能添加一个回调(所以有没有在列表中的重复).
- stopOnFalse: 当一个回调返回false 时中断调用
默认情况下,回调列表将像事件的回调列表中可以多次触发。
如何在理想情况下应该使用的flags的例子,见下文:
**$.Callbacks( 'once' ):**
~~~
var callbacks = $.Callbacks( "once" );
callbacks.add( fn1 );
callbacks.fire( "foo" );
callbacks.add( fn2 );
callbacks.fire( "bar" );
callbacks.remove( fn2 );
callbacks.fire( "foobar" );
/*
output:
foo
*/
~~~
**$.Callbacks( 'memory' ):**
~~~
var callbacks = $.Callbacks( "memory" );
callbacks.add( fn1 );
callbacks.fire( "foo" );
callbacks.add( fn2 );
callbacks.fire( "bar" );
callbacks.remove( fn2 );
callbacks.fire( "foobar" );
/*
output:
foo
fn2 says:foo
bar
fn2 says:bar
foobar
*/
~~~
**$.Callbacks( 'unique' ):**
~~~
var callbacks = $.Callbacks( "unique" );
callbacks.add( fn1 );
callbacks.fire( "foo" );
callbacks.add( fn1 ); // repeat addition
callbacks.add( fn2 );
callbacks.fire( "bar" );
callbacks.remove( fn2 );
callbacks.fire( "foobar" );
/*
output:
foo
bar
fn2 says:bar
foobar
*//code>
~~~
**$.Callbacks( 'stopOnFalse' ):**
~~~
function fn1( value ){
console.log( value );
return false;
}
function fn2( value ){
fn1("fn2 says:" + value);
return false;
}
var callbacks = $.Callbacks( "stopOnFalse");
callbacks.add( fn1 );
callbacks.fire( "foo" );
callbacks.add( fn2 );
callbacks.fire( "bar" );
callbacks.remove( fn2 );
callbacks.fire( "foobar" );
/*
output:
foo
bar
foobar
*/
~~~
因为$.Callbacks() 支持一个列表的flags而不仅仅是一个,设置几个flags,有一个累积效应,类似“&&”。这意味着它可能结合创建回调名单,*unique* 和*确保如果名单已经触发,将有更多的回调调用最新的触发值* (i.e.$.Callbacks("unique memory")).
**$.Callbacks( 'unique memory' ):**
~~~
function fn1( value ){
console.log( value );
return false;
}
function fn2( value ){
fn1("fn2 says:" + value);
return false;
}
var callbacks = $.Callbacks( "unique memory" );
callbacks.add( fn1 );
callbacks.fire( "foo" );
callbacks.add( fn1 ); // repeat addition
callbacks.add( fn2 );
callbacks.fire( "bar" );
callbacks.add( fn2 );
callbacks.fire( "baz" );
callbacks.remove( fn2 );
callbacks.fire( "foobar" );
/*
output:
foo
fn2 says:foo
bar
fn2 says:bar
baz
fn2 says:baz
foobar
*/
~~~
Flag结合体是使用的$.Callbacks()内部的.done() 和 .fail()一个递延容器-它们都使用 $.Callbacks('memory once').
$.Callbacks 方法也可以被分离, 为方便起见应该有一个需要定义简写版本:
~~~
var callbacks = $.Callbacks(),
add = callbacks.add,
remove = callbacks.remove,
fire = callbacks.fire;
add( fn1 );
fire( "hello world");
remove( fn1 );
~~~
#### $.Callbacks, $.Deferred and Pub/Sub
pub / sub( Observer模式)背后的一般思路 是促进应用程序的松散耦合。而比对其他对象的方法调用的单个对象,一个对象,而不是另一个对象的一个特定的任务或活动,并通知当它发生。观察家也被称为订阅者,我们指的出版商(或主体)观察对象。出版商事件发生时通知用户
作为一个组件$.Callbacks()创造能力,它可以实现一个pub / sub系统只使用回调列表。使用$.Callbacks作为主题队列,发布和订阅的主题系统可以实现如下:
~~~
var topics = {};
jQuery.Topic = function( id ) {
var callbacks,
method,
topic = id && topics[ id ];
if ( !topic ) {
callbacks = jQuery.Callbacks();
topic = {
publish: callbacks.fire,
subscribe: callbacks.add,
unsubscribe: callbacks.remove
};
if ( id ) {
topics[ id ] = topic;
}
}
return topic;
};
~~~
然后,可以很容易的使用这部分应用程序的发布和订阅感兴趣的事件:
~~~
// Subscribers
$.Topic( "mailArrived" ).subscribe( fn1 );
$.Topic( "mailArrived" ).subscribe( fn2 );
$.Topic( "mailSent" ).subscribe( fn1 );
// Publisher
$.Topic( "mailArrived" ).publish( "hello world!" );
$.Topic( "mailSent" ).publish( "woo! mail!" );
// Here, "hello world!" gets pushed to fn1 and fn2
// when the "mailArrived" notification is published
// with "woo! mail!" also being pushed to fn1 when
// the "mailSent" notification is published.
/*
output:
hello world!
fn2 says: hello world!
woo! mail!
*/
~~~
虽然这是有用的,可以采取进一步的实施。使用$.Deferreds,这是可能的,以确保发表者只为用户发布一次特别的任务已经完成(解决)通知。这可能是如何在实践中使用的一些进一步的评论,请参见下面的代码示例:
~~~
// subscribe to the mailArrived notification
$.Topic( "mailArrived" ).subscribe( fn1 );
// create a new instance of Deferreds
var dfd = $.Deferred();
// define a new topic (without directly publishing)
var topic = $.Topic( "mailArrived" );
// when the deferred has been resolved, publish a
// notification to subscribers
dfd.done( topic.publish );
// Here the Deferred is being resolved with a message
// that will be passed back to subscribers. It's possible to
// easily integrate this into a more complex routine
// (eg. waiting on an ajax call to complete) so that
// messages are only published once the task has actually
// finished.
dfd.resolve( "its been published!" );
~~~
callbacks.remove(callbacks)
最后更新于:2022-04-01 06:00:16
### 返回值:undefinedcallbacks.remove(callbacks)
### 概述
删除回调或回调回调列表的集合。
### 参数
#### **callbacks***V1.7*
一个函数或函数数组,是从回调列表中删除。
### 示例
#### 描述:
用callbacks.remove() 删除回调或回调回调列表的集合。
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value ){
console.log( 'foo:' + value );
}
var callbacks = $.Callbacks();
// add the function 'foo' to the list
callbacks.add( foo );
// fire the items on the list
callbacks.fire( 'hello' ); // outputs: 'foo: hello'
// remove 'foo' from the callback list
callbacks.remove( foo );
// fire the items on the list again
callbacks.fire( 'world' );
// nothing output as 'foo' is no longer in the list/code>
~~~
callbacks.locked()
最后更新于:2022-04-01 06:00:13
### 返回值:Booleancallbacks.locked()
### *V1.7*概述
确定是否已被锁定的回调列表。
### 示例
#### 描述:
用 callbacks.locked() 确定是否已被锁定的回调列表。:
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value ){
console.log( 'foo:' + value);
}
var callbacks = $.Callbacks();
// add the logging function to the callback list
callbacks.add( foo );
// fire the items on the list, passing an argument
callbacks.fire( 'hello' );
// outputs 'foo: hello'
// lock the callbacks list
callbacks.lock();
// test the lock-state of the list
console.log ( callbacks.locked() ); //true
~~~
callbacks.lock()
最后更新于:2022-04-01 06:00:11
### 返回值:undefinedcallbacks.lock()
### *V1.7*概述
锁定在其当前状态的回调列表。
### 示例
#### 描述:
用 callbacks.lock()锁定一个回调列表,以避免进一步的修改列表状态 :
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value ){
console.log( 'foo:' + value);
}
var callbacks = $.Callbacks();
// add the logging function to the callback list
callbacks.add( foo );
// fire the items on the list, passing an argument
callbacks.fire( 'hello' );
// outputs 'foo: hello'
// lock the callbacks list
callbacks.lock();
// try firing the items again
callbacks.fire( 'world' );
// as the list was locked, no items
// were called so 'world' isn't logged
~~~
callbacks.has(callback)
最后更新于:2022-04-01 06:00:09
### 返回值:Booleancallbacks.has(callback)
### 概述
确定是否提供的回调列表
### 参数
#### **callback***V1.7*
用来搜索的回调。
### 示例
#### 描述:
用 callbacks.has() 检查是否回调列表中包含一个特定的回调:
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value1, value2 ){
console.log( 'Received:' + value1 + ',' + value2 );
}
// a second function which will not be added to the list
var bar = function( value1, value2 ){
console.log( 'foobar');
}
var callbacks = $.Callbacks();
// add the log method to the callbacks list
callbacks.add( foo );
// determine which callbacks are in the list
console.log( callbacks.has( foo ) ); // true
console.log( callbacks.has( bar ) ); // false
~~~
callbacks.fireWith([context][,args])
最后更新于:2022-04-01 06:00:07
### 返回值:undefinedcallbacks.fireWith([context][,args])
### 概述
访问给定的上下文和参数列表中的所有回调
### 参数
#### **[context][,args]***V1.7*
**context**: 该列表中的回调被触发的上下文引用
**args**: 一个参数或参数列表传回给回调列表。
### 示例
#### 描述:
使用 callbacks.fireWith() 访问给定的上下文和参数列表中的所有回调。
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var log = function( value1, value2 ){
console.log( 'Received:' + value1 + ',' + value2 );
}
var callbacks = $.Callbacks();
// add the log method to the callbacks list
callbacks.add( log );
// fire the callbacks on the list using the context 'window'
// and an arguments array
callbacks.fireWith( window, ['foo','bar']);
// outputs: Received: foo, bar
~~~
callbacks.fired()
最后更新于:2022-04-01 06:00:04
### 返回值:Booleancallbacks.fired()
### *V1.7*概述
用给定的参数调用所有的回调。
### 示例
#### 描述:
使用callbacks.fired() 确定,如果列表中的回调至少有一次被呼叫
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value ){
console.log( 'foo:' + value );
}
var callbacks = $.Callbacks();
// add the function 'foo' to the list
callbacks.add( foo );
// fire the items on the list
callbacks.fire( 'hello' ); // outputs: 'foo: hello'
callbacks.fire( 'world '); // outputs: 'foo: world'
// test to establish if the callbacks have been called
console.log( callbacks.fired() );
~~~
callbacks.fire(arguments)
最后更新于:2022-04-01 06:00:02
### 返回值:undefinedcallbacks.fire(arguments)
### 概述
禁用回调列表中的回调
### 参数
#### **arguments***V1.7*
这个参数或参数列表传回给回调列表。
### 示例
#### 描述:
使用 callbacks.fire() 用任何已传递的参数调用列表中的回调:
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value ){
console.log( 'foo:' + value );
}
var callbacks = $.Callbacks();
// add the function 'foo' to the list
callbacks.add( foo );
// fire the items on the list
callbacks.fire( 'hello' ); // outputs: 'foo: hello'
callbacks.fire( 'world '); // outputs: 'foo: world'
// add another function to the list
var bar = function( value ){
console.log( 'bar:' + value );
}
// add this function to the list
callbacks.add( bar );
// fire the items on the list again
callbacks.fire( 'hello again' );
// outputs:
// 'foo: hello again'
// 'bar: hello again'
~~~
callbacks.empty()
最后更新于:2022-04-01 05:59:59
### 返回值:undefinedcallbacks.empty()
### *V1.7*概述
从列表中删除所有的回调.
### 示例
#### 描述:
使用 callbacks.empty() 清空回调列表:
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value1, value2 ){
console.log( 'foo:' + value1 + ',' + value2 );
}
// another function to also be added to the list
var bar = function( value1, value2 ){
console.log( 'bar:' + value1 + ',' + value2 );
}
var callbacks = $.Callbacks();
// add the two functions
callbacks.add( foo );
callbacks.add( bar );
// empty the callbacks list
callbacks.empty();
// check to ensure all callbacks have been removed
console.log( callbacks.has( foo ) ); // false
console.log( callbacks.has( bar ) ); // false
~~~
callbacks.disable()
最后更新于:2022-04-01 05:59:57
### 返回值:undefinedcallbacks.disable()
### *V1.7*概述
禁用回调列表中的回调
### 示例
#### 描述:
使用 callbacks.disable() 禁用回调列表:
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value ){
console.log( value );
}
var callbacks = $.Callbacks();
// add the above function to the list
callbacks.add( foo );
// fire the items on the list
callbacks.fire( 'foo' ); // outputs: foo
// disable further calls being possible
callbacks.disable();
// attempt to fire with 'foobar' as an argument
callbacks.fire( 'foobar' ); // foobar isn't output
~~~
callbacks.add(callbacks)
最后更新于:2022-04-01 05:59:55
### 返回值:undefinedcallbacks.add(callbacks)
### 概述
回调列表中添加一个回调或回调的集合。
### 参数
#### **callbacks ***V1.7*
一个函数,或者一个函数数组用来添加到回调列表。 .
### 示例
#### 描述:
使用 callbacks.add() 添加新的回调到回调列表:
##### jQuery 代码:
~~~
// a sample logging function to be added to a callbacks list
var foo = function( value ){
console.log( 'foo:' + value );
}
// another function to also be added to the list
var bar = function( value ){
console.log( 'bar:' + value );
}
var callbacks = $.Callbacks();
// add the function 'foo' to the list
callbacks.add( foo );
// fire the items on the list
callbacks.fire( 'hello' );
// outputs: 'foo: hello'
// add the function 'bar' to the list
callbacks.add( bar );
// fire the items on the list again
callbacks.fire( 'world' );
// outputs:
// 'foo: world'
// 'bar: world'
~~~
Callbacks
最后更新于:2022-04-01 05:59:53
def.state()
最后更新于:2022-04-01 05:59:50
### 返回值:Deferred Objectdeferred.state()
### *V1.7*概述
确定一个Deferred对象的当前状态。
deferred.state()方法返回一个字符串,代表Deferred对象的当前状态。 Deferred对象可以在三种状态之一:
- **pending**: Deferred对象是尚未完成状态 (不是 "rejected" 或 "resolved").
- **resolved**: Deferred对象是在解决状态,这意味着,[deferred.resolve()](http://api.jquery.com/deferred.resolve/) 或者 [deferred.resolveWith()](http://api.jquery.com/deferred.resolveWith/)被对象访问和doneCallbacks被访问(或在被调用的过程中) 。
- **rejected**: Deferred对象是在被拒绝的状态,这意味着,[deferred.reject()](http://api.jquery.com/deferred.reject/) 或者 [deferred.rejectWith()](http://api.jquery.com/deferred.rejectWith/) 被对象访问和failCallbacks被访问(或在被调用的过程中) 。
这种方法主要是有用的调试,以确定的,例如,递延是否已经得到解决,即使你打算拒绝它的内部代码。
def.notifyWith(context,[args])
最后更新于:2022-04-01 05:59:48
### 返回值:Deferred Objectdeferred.notifyWith(context,[args])
### 概述
去掉字符串起始和结尾的空格。
当deferred.notifyWith,任何doneCallbacks 添加的 progressCallbacks,[deferred.then](#)或[deferred.fail](#)被调用。回调按他们添加的顺序执行。每个回调传递的args在deferred.reject()中调用。notifyWith()延迟后解决或拒绝( 或添加任何progressCallbacks后)被忽略。有关详细信息,请参阅文件[Deferred object](http://api.jquery.com/category/deferred-object/) 。
### 参数
#### **context**String*V1.7*
上下文传递progressCallbacks此对象。
#### **args**String*V1.7*
可选参数传递到progressCallbacks。