JS 正则表达式用法介绍

时间:2023-09-03 07:42:14 其他范文 收藏本文 下载本文

JS 正则表达式用法介绍(精选16篇)由网友“一个有钱的昵称”投稿提供,下面是小编整理过的JS 正则表达式用法介绍,希望能帮助到大家!

JS 正则表达式用法介绍

篇1:JS 正则表达式用法介绍

作者: 字体:[增加 减小] 类型:

正则表达式是一种可以用于模式匹配和替换的强有力的工具

正则表达式使用详解

简介

简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具,其作用如下:

测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。

替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。

根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。

基本语法

在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。

正则表达式的形式一般如下:

/love/其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。

较为常用的元字符包括: “+”, “*”,以及 “?”。

“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。

“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。

“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

下面,就让我们来看一下正则表达式元字符的具体应用。

/fo+/因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者 “football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。

/eg*/因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。

/Wil?/因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的 “Win”, 或者“Wilson”,等在字母i后面连续出现零个或一个字母l的字符串相匹配。

有时候不知道要匹配多少字符。为了能适应这种不确定性,正则表达式支持限定符的概念。这些限定符可以指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。

{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?‘。请注意在逗号和两个数之间不能有空格。

除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如,/jim {2,6}/ 上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。

在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。

\s:用于匹配单个空格符,包括tab键和换行符;

\S:用于匹配除单个空格符之外的所有字符;

\d:用于匹配从0到9的数字;

\w:用于匹配字母,数字或下划线字符;

\W:用于匹配所有与\w不匹配的字符;

. :用于匹配除换行符之外的所有字符。

(说明:我们可以把\s和\S以及\w和\W看作互为逆运算)

下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。

/\s+/ 上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。

/\d000/ 如果我们手中有一份复杂的财务报表,那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千元的款项。

除了我们以上所介绍的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位符用于规定匹配模式在目标对象中的出现位置。 较为常用的定位符包括: “^”, “$”, “\b” 以及 “\B”。

“^”定位符规定匹配模式必须出现在目标字符串的开头

“$”定位符规定匹配模式必须出现在目标对象的结尾

“\b”定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一

“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,

即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾,

同样,我们也可以把“^”和“$”以及“\b”和“\B”看作是互为逆运算的两组定位符。举例来说: /^hell/ 因为上述正则表达式中包含“^”定位符,所以可以与目标对象中以 “hell”, “hello”或“hellhound”开头的字符串相匹配。 /ar$/ 因为上述正则表达式中包含“$”定位符,所以可以与目标对象中以 “car”, “bar”或 “ar” 结尾的字符串相匹配。 /\bbom/ 因为上述正则表达式模式以“\b”定位符开头,所以可以与目标对象中以 “bomb”, 或 “bom”开头的字符串相匹配。/man\b/ 因为上述正则表达式模式以“\b”定位符结尾,所以可以与目标对象中以 “human”, “woman”或 “man”结尾的字符串相匹配。

为了能够方便用户更加灵活的设定匹配模式,正则表达式允许使用者在匹配模式中指定某一个范围而不局限于具体的字符。例如:

/[A-Z]/上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。

/[a-z]/上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。

/[0-9]/ 上述正则表达式将会与从0到9范围内任何一个数字相匹配。

/([a-z][A-Z][0-9])+/ 上述正则表达式将会与任何由字母和数字组成的字符串,如 “aB0” 等相匹配。

这里需要提醒用户注意的一点就是可以在正则表达式中使用 “” 把字符串组合在一起。“()”符号包含的内容必须同时出现在目标对象中。因此,上述正则表达式将无法与诸如 “abc”等的字符串匹配,因为“abc”中的最后一个字符为字母而非数字。

如果我们希望在正则表达式中实现类似编程逻辑中的“或”运算,在多个不同的模式中任选一个进行匹配的话,可以使用管道符 “|”。例如:/to|too|2/ 上述正则表达式将会与目标对象中的 “to”, “too”, 或 “2” 相匹配。

正则表达式中还有一个较为常用的运算符,即否定符 “[^]”。与我们前文所介绍的定位符 “^” 不同,否定符 “[^]”规定目标对象中不能存在模式中所规定的字符串。例如:/[^A-C]/ 上述字符串将会与目标对象中除A,B,和C之外的任何字符相匹配。一般来说,当“^”出现在 “[]”内时就被视做否定运算符;而当“^”位于“[]”之外,或没有“[]”时,则应当被视做定位符。

最后,当用户需要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符“”。例如:/Th\*/ 上述正则表达式将会与目标对象中的“Th*”而非“The”等相匹配。

在构造正则表达式之后,就可以象数学表达式一样来求值,也就是说,可以从左至右并按照一个优先级顺序来求值。优先级如下:

1.\ 转义符

2.(), (?:), (?=), [] 圆括号和方括号

3.*, +, ?, {n}, {n,}, {n,m} 限定符

4.^, $, \anymetacharacter 位置和顺序

5.|“或”操作

使用实例

在JavaScript. 1.2中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。

我们可以使用JavaScript编写以下脚本,验证用户输入的邮件地址的有效性。

正则表达式对象

本对象包含正则表达式模式以及表明如何应用模式的标志。

语法 1 re = /pattern/[flags]

语法 2 re = new RegExp(“pattern”,[“flags”])

参数

re

必选项。将要赋值为正则表达式模式的变量名。

Pattern

必选项。要使用的正则表达式模式。如果使用语法 1,用 “/” 字符分隔模式。如果用语法 2,用引号将模式引起来。

Flags

可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有:

g (全文查找出现的所有 pattern)

i (忽略大小写)

m (多行查找)

示例

下面的示例创建一个包含正则表达式模式及相关标志的对象(re),向您演示正则表达式对象的用法。在本例中,作为结果的正则表达式对象又用于 match 方法中:

代码如下:

function MatchDemo()

{

var r, re; // 声明变量。

var s = “The rain in Spain falls mainly in the plain”;

re = new RegExp(“ain”,“g”); // 创建正则表达式对象。

r = s.match(re); // 在字符串 s 中查找匹配。

return(r);

}

如果看了上面的内容仍然感觉不过瘾的话,这里推荐大家看下正则表达式30分钟入门教程,更容易上手与学习。

篇2:js正则表达式进行格式校验

简介

简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具,其作用如下:

测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。

替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。

根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。

基本语法

在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。

正则表达式的形式一般如下:

/love/其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。

较为常用的元字符包括: “+”, “*”,以及 “?”。

“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。

“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。

“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

下面,就让我们来看一下正则表达式元字符的具体应用。

/fo+/因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者 “football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。

/eg*/因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。

/Wil?/因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的 “Win”, 或者“Wilson”,等在字母i后面连续出现零个或一个字母l的字符串相匹配。

有时候不知道要匹配多少字符。为了能适应这种不确定性,正则表达式支持限定符的概念。这些限定符可以指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。

{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?'。请注意在逗号和两个数之间不能有空格。

除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如,/jim {2,6}/ 上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。

在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。

\s:用于匹配单个空格符,包括tab键和换行符;

\S:用于匹配除单个空格符之外的所有字符;

\d:用于匹配从0到9的数字;

\w:用于匹配字母,数字或下划线字符;

\W:用于匹配所有与\w不匹配的字符;

. :用于匹配除换行符之外的所有字符。

(说明:我们可以把\s和\S以及\w和\W看作互为逆运算)

下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。

/\s+/ 上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。

/\d000/ 如果我们手中有一份复杂的财务报表,那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千元的款项。

除了我们以上所介绍的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位符用于规定匹配模式在目标对象中的出现位置。 较为常用的定位符包括: “^”, “$”, “\b” 以及 “\B”。

“^”定位符规定匹配模式必须出现在目标字符串的开头

“$”定位符规定匹配模式必须出现在目标对象的结尾

“\b”定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一

“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,

即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。

同样,我们也可以把“^”和“$”以及“\b”和“\B”看作是互为逆运算的两组定位符。举例来说: /^hell/ 因为上述正则表达式中包含“^”定位符,所以可以与目标对象中以 “hell”, “hello”或“hellhound”开头的字符串相匹配。 /ar$/ 因为上述正则表达式中包含“$”定位符,所以可以与目标对象中以 “car”, “bar”或 “ar” 结尾的字符串相匹配。 /\bbom/ 因为上述正则表达式模式以“\b”定位符开头,所以可以与目标对象中以 “bomb”, 或 “bom”开头的字符串相匹配。/man\b/ 因为上述正则表达式模式以“\b”定位符结尾,所以可以与目标对象中以 “human”, “woman”或 “man”结尾的字符串相匹配。

为了能够方便用户更加灵活的设定匹配模式,正则表达式允许使用者在匹配模式中指定某一个范围而不局限于具体的字符。例如:

/[A-Z]/上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。

/[a-z]/上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。

/[0-9]/ 上述正则表达式将会与从0到9范围内任何一个数字相匹配。

/([a-z][A-Z][0-9])+/ 上述正则表达式将会与任何由字母和数字组成的字符串,如 “aB0” 等相匹配。

这里需要提醒用户注意的一点就是可以在正则表达式中使用 “()” 把字符串组合在一起。“()”符号包含的内容必须同时出现在目标对象中。因此,上述正则表达式将无法与诸如 “abc”等的字符串匹配,因为“abc”中的最后一个字符为字母而非数字。

如果我们希望在正则表达式中实现类似编程逻辑中的“或”运算,在多个不同的模式中任选一个进行匹配的话,可以使用管道符 “|”。例如:/to|too|2/ 上述正则表达式将会与目标对象中的 “to”, “too”, 或 “2” 相匹配。

正则表达式中还有一个较为常用的运算符,即否定符 “[^]”。与我们前文所介绍的定位符 “^” 不同,否定符 “[^]”规定目标对象中不能存在模式中所规定的字符串。例如:/[^A-C]/ 上述字符串将会与目标对象中除A,B,和C之外的任何字符相匹配。一般来说,当“^”出现在 “[]”内时就被视做否定运算符;而当“^”位于“[]”之外,或没有“[]”时,则应当被视做定位符。

最后,当用户需要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符“”。例如:/Th\*/ 上述正则表达式将会与目标对象中的“Th*”而非“The”等相匹配。

在构造正则表达式之后,就可以象数学表达式一样来求值,也就是说,可以从左至右并按照一个优先级顺序来求值。优先级如下:

1.\ 转义符

2.(), (?:), (?=), [] 圆括号和方括号

3.*, +, ?, {n}, {n,}, {n,m} 限定符

4.^, $, \anymetacharacter 位置和顺序

5.|“或”操作

使用实例

在JavaScript. 1.2中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。

我们可以使用JavaScript编写以下脚本,验证用户输入的邮件地址的有效性。

正则表达式对象

本对象包含正则表达式模式以及表明如何应用模式的标志。

语法 1 re = /pattern/[flags]

语法 2 re = new RegExp(“pattern”,[“flags”])

参数

re

必选项。将要赋值为正则表达式模式的变量名。

Pattern

必选项。要使用的正则表达式模式。如果使用语法 1,用 “/” 字符分隔模式。如果用语法 2,用引号将模式引起来。

Flags

可选项。如果使用语法 2 要用引号将 flag 引起来。标志可以组合使用,可用的有:

g (全文查找出现的所有 pattern)

i (忽略大小写)

m (多行查找)

示例

下面的示例创建一个包含正则表达式模式及相关标志的对象(re),向您演示正则表达式对象的用法。在本例中,作为结果的正则表达式对象又用于 match 方法中:

复制代码代码如下:

function MatchDemo()

{

var r, re; // 声明变量。

var s = “The rain in Spain falls mainly in the plain”;

re = new RegExp(“ain”,“g”); // 创建正则表达式对象。

r = s.match(re); // 在字符串 s 中查找匹配。

return(r);

}

下面是具体的使用:

方法一:

var re=/正则表达式/;

re.test($(“txtid”).val())

方法二:

$(“txtid”).val.match(/正则表达式/);

正则表达式有多种不同的风格。下表是在PCRE中元字符及其在正则表达式上下文中的行为的一个完整列表:

字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。序列“\”匹配“”而“\(”则匹配“(”。^匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。*匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及“zoo”。*等价于{0,}。+匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。?匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“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|)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。(?!pattern)负向预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“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匹配版权符号(?)。

附:

验证数字的正则表达式集(转载)

验证数字:^[0-9]*$

验证n位的数字:^\d{n}$

验证至少n位数字:^\d{n,}$

验证m-n位的数字:^\d{m,n}$

验证零和非零开头的数字:^(0|[1-9][0-9]*)$

验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

验证非零的正整数:^\+?[1-9][0-9]*$

验证非零的负整数:^\-[1-9][0-9]*$

验证非负整数(正整数 + 0) ^\d+$

验证非正整数(负整数 + 0) ^((-\d+)|(0+))$

验证长度为3的字符:^.{3}$

验证由26个英文字母组成的字符串:^[A-Za-z]+$

验证由26个大写英文字母组成的字符串:^[A-Z]+$

验证由26个小写英文字母组成的字符串:^[a-z]+$

验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

验证由数字、26个英文字母或者下划线组成的字符串:^\w+$

验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

验证是否含有 ^%&',;=?$\“ 等字符:[^%&',;=?$\x22]+

验证汉字:^[\u4e00-\u9fa5],{0,}$

验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

验证InternetURL:^([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$

验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。

验证身份证号(15位或18位数字):^\d{15}|\d{}18$

验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”

验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31,

整数:^-?\d+$

非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$

正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$

负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

浮点数 ^(-?\d+)(\.\d+)?

下面是具体的函数写法,不会的可以参考下。

复制代码代码如下:

function check()

{

var bb = document.getElementById(”txt_id“).value;//txt_id为文本框的ID

alert(ismobile(bb));//ismobile 代表以下任何一个函数名称

}

HTML代码:

**************************/

// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串

function isalphanumber(str)

{

var result=str.match(/^[a-zA-Z0-9]+$/);

if(result==null) return false;

return true;

}

// 判断输入是否是一个数字--(数字包含小数)--

function isnumber(str)

{

return !isNaN(str);

}

// 判断输入是否是一个整数

function isint(str)

{

var result=str.match(/^(-|\+)?\d+$/);

if(result==null) return false;

return true;

}

// 判断输入是否是有效的长日期格式 - ”YYYY-MM-DD HH:MM:SS“ || ”YYYY/MM/DD HH:MM:SS“

function isdatetime(str)

{

var result=str.match(/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);

if(result==null) return false;

var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);

return (d.getFullYear()==result[1]&&(d.getMonth()+1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);

}

// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式

function isdate(str){

var result=str.match(/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/);

if(result==null) return false;

var d=new Date(result[1], result[3]-1, result[4]);

return (d.getFullYear()==result[1] && d.getMonth()+1==result[3] && d.getDate()==result[4]);

}

// 判断输入是否是有效的电子邮件

function isemail(str)

{

var result=str.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);

if(result==null) return false;

return true;

}

// 去除字符串的首尾的空格

function trim(str){

return str.replace(/(^\s*)|(\s*$)/g, ”“);

}

// 返回字符串的实际长度, 一个汉字算2个长度

function strlen(str){

return str.replace(/[^\x00-\xff]/g, ”**“).length;

}

//匹配中国邮政编码(6位)

function ispostcode(str)

{

var result=str.match(/[1-9]\d{5}(?!\d)/);

if(result==null) return false;

return true;

}

//匹配国内电话号码(0511-4405222 或 021-87888822)

function istell(str)

{

var result=str.match(/\d{3}-\d{8}|\d{4}-\d{7}/);

if(result==null) return false;

return true;

}

//校验是否为(0-10000)的整数

function isint1(str)

{

var result=str.match(/^[0-9]$|^([1-9])([0-9]){0,3}$|^10000$/);

if(result==null) return false;

return true;

}

//匹配腾讯QQ号

function isqq(str)

{

var result=str.match(/[1-9][0-9]{4,}/);

if(result==null) return false;

return true;

}

//匹配身份证(15位或18位)

function isidcard(str)

{

var result=str.match(/\d{15}|\d{18}/);

if(result==null) return false;

return true;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//校验文本是否为空

function checknull(field,sval)

{

if (field.value ==”“)

{

alert(”请填写“ + sval + ”!“);

field.focus();

return false;

}

return true;

}

//屏蔽输入字符

/***********************

调用方法:

在文本框中加上 nkeypress=”return checkChar()“

*************************/

function checkChar()

{

var keycode = event.keyCode;

if(!(keycode>=48&&keycode<=57))

{

return false;

}

}

/***************************************************************************************************************************

中国电话号码验证

匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222

正则表达式 ”((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*“

中国邮政编码验证

匹配形式如:215421

正则表达式 ”d{6}“

电子邮件验证

匹配形式如:justali@justdn.com

正则表达式 ”w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*“

身份证验证

匹配形式如:15位或者18位身份证

正则表达式 ”d{18}|d{15}“

常用数字验证

正则表达式

”d{n}“ n为规定长度

”d{n,m}“ n到m的长度范围

非法字符验证

匹配非法字符如:< >& / ' |

正则表达式 [^&/|'\]+

日期验证

匹配形式如:0718,030718

范围:1900--2099

正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]

评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\n\s*\r

评注:可以用来删除空白行

匹配HTML标记的正则表达式:< (\S*?)[^>]*>.*?|< .*? />

评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^\s*|\s*$

评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

评注:表单验证时很实用

匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}

评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}

评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]\d{5}(?!\d)

评注:中国邮政编码为6位数字

匹配身份证:\d{15}|\d{18}

评注:中国的身份证为15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+

评注:提取ip地址时有用

提取信息中的ip地址:

(\d+)\.(\d+)\.(\d+)\.(\d+)

提取信息中的中国手机号码:

(86)*0*13\d{9}

提取信息中的中国固定电话号码:

(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

提取信息中的中国电话号码(包括移动和固定电话):

(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

提取信息中的中国邮政编码:

[1-9]{1}(\d+){5}

提取信息中的中国身份证号码:

\d{18}|\d{15}

提取信息中的整数:

\d+

提取信息中的浮点数(即小数):

(-?\d*)\.?\d+

提取信息中的任何数字 :

(-?\d*)(\.\d+)?

提取信息中的中文字符串:

[\u4e00-\u9fa5]*

提取信息中的双字节字符串 (汉字):

[^\x00-\xff]*

提取信息中的英文字符串:

\w*

提取信息中的网络链接:

(h|H)(r|R)(e|E)(f|F) *= *('|”)?(\w|\\|\/|\.)+('|“| *|>)?

提取信息中的邮件地址:

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

提取信息中的图片链接:

(s|S)(r|R)(c|C) *= *('|”)?(\w|\\|\/|\.)+('|“| *|>)?

匹配特定数字:

^[1-9]\d*$ //匹配正整数

^-[1-9]\d*$ //匹配负整数

^-?[1-9]\d*$ //匹配整数

^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)

^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)

评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:

^[A-Za-z]+$ //匹配由26个英文字母组成的字符串

^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串

^[a-z]+$ //匹配由26个英文字母的小写组成的字符串

^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串

^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串

评注:最基本也是最常用的一些表达式

////////////////////前4行程序用于保护js代码不被下载

// ////////////////////基本正则表达式///////////////////

//非空验证 function NotNull (str) { return (str!=”“); }

//邮件地址验证

function checkEmail (str) {

//邮件地址正则表达式 isEmail1=/^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/;

//邮件地址正则表达式 isEmail2=/^.*@[^_]*$/;

//验证邮件地址,返回结果 return (isEmail1.test(str)&&isEmail2.test(str));

} //身份证验证 function checkIDCard (str) {

//身份证正则表达式(15位)

isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;

//身份证正则表达式(18位) isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;

//验证身份证,返回结果 return (isIDCard1.test(str)||isIDCard2.test(str)); }

//IP验证 function checkIP (str)

{ //IP正则表达式 IP='(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)';

IPdot=IP+'\\.'; isIPaddress=new RegExp('^'+IPdot+IPdot+IPdot+IP+'$');

//验证IP,返回结果 return (isIPaddress.test(str)); }

//主页(网址)验证 function checkHomepage (str) {

//主页正则表达式 //isHomepage=/^\w+([\.\-]\w)*$/; isHomepage=/^\w+(\.\w+)+\.\w+$/;

//验证主页,返回结果 return (isHomepage.test(str)); }

//是否数字 function isNum (str) { //isNumber=/^([1-9]\d*(\.\d+)?)|(\d+(\.\d+))$/; isNumber=/^\d+(\.\d+)?$/;

//验证并返回结果 return (isNumber.test(str)); }

//是否整数 function isInt (str) { isInteger=/^\d+$/;

//验证并返回结果 return (isInteger.test(str)); }

//是否字母 function isChar (str) { isCharacter=/^[A-Za-z]+$/;

//验证并返回结果 return (isCharacter.test(str)); }

/////////////////////基本弹出窗口///////////////////

function checkBoolean(bv,i,w) { if(bv==false) { try{i.focus();}catch(e){} alert(w); return false; } return true }

////////////////////元素和取值判断//////////////////// //

已选择 function checkElement_selected(item,alert_str) { if(item.type==”select-one“)return checkElement_NotNull(item,alert_str); if(alert_str.length==0)alert_str=item.title+”为必选项!“; rt=false; if(item.length>0) { for(i=0;i

不为空 function checkElement_NotNull(a,alert_str,g) { v=a.value; w=alert_str; if(alert_str.length==0)w=a.title+”不能为空!“; return(checkValue_NotNull(v,a,w,g)); } function checkValue_NotNull(v,i,w,g) { if(g!=”NOT_TRIM“)v=v.replace(/(^\s*)|(\s*$)/g, ”“); bv=NotNull(v); return(checkBoolean(bv,i,w)); }

// 合法邮箱 function checkElement_IsEmail(a,alert_str,g) { v=a.value; w=alert_str; if(alert_str.length==0)w=a.title+”不能为空!“; return(checkValue_IsEmail(v,a,w,g)); }

function checkValue_IsEmail(v,i,w,g) { if(g!=”NOT_TRIM“)v=v.replace(/(^\s*)|(\s*$)/g, ”“); bv=checkEmail(v); return(checkBoolean(bv,i,w)); } // 合法身份证 function checkElement_IsIDCard(a,alert_str,g) { v=a.value; w=alert_str; if(alert_str.length==0)w=a.title+”不能为空!“; return(checkValue_IsIDCard(v,a,w,g)); }

function checkValue_IsIDCard(v,i,w,g) { if(g!=”NOT_TRIM“)v=v.replace(/(^\s*)|(\s*$)/g, ”“); bv=checkIDCard(v); return(checkBoolean(bv,i,w)); } // 合法IP function checkElement_IsIP(a,alert_str,g) { v=a.value; w=alert_str; if(alert_str.length==0)w=a.title+”不能为空!“; return(checkValue_IsIP(v,a,w,g)); } function checkValue_IsIP(v,i,w,g) { if(g!=”NOT_TRIM“)v=v.replace(/(^\s*)|(\s*$)/g, ”“); bv=checkIP(v); return(checkBoolean(bv,i,w)); }

// 验证数字 function checkElement_IsNum(a,alert_str,g) { v=a.value; w=alert_str; if(alert_str.length==0)w=a.title+”不能为空!“; return(checkValue_IsNum(v,a,w,g)); } function checkValue_IsNum(v,i,w,g) { if(g!=”NOT_TRIM“)v=v.replace(/(^\s*)|(\s*$)/g, ”“); bv=isNum(v); return(checkBoolean(bv,i,w)); }

// 验证整数 function checkElement_IsInt(a,alert_str,g) { v=a.value; w=alert_str; if(alert_str.length==0)w=a.title+”不能为空!“; return(checkValue_IsInt(v,a,w,g)); } function checkValue_IsInt(v,i,w,g) { if(g!=”NOT_TRIM“)v=v.replace(/(^\s*)|(\s*$)/g, ”“); bv=isInt(v); return(checkBoolean(bv,i,w)); } // 验证字母 function checkElement_IsChar(a,alert_str,g) { v=a.value; w=alert_str; if(alert_str.length==0)w=a.title+”不能为空!“; return(checkValue_IsChar(v,a,w,g)); } function checkValue_IsChar(v,i,w,g) { if(g!=”NOT_TRIM“)v=v.replace(/(^\s*)|(\s*$)/g, ”“); bv=isChar(v); return(checkBoolean(bv,i,w)); }

// 合法主页 function checkElement_IsHomepage(a,alert_str,g) { v=a.value; w=alert_str; if(alert_str.length==0)w=a.title+”不能为空!“; return(checkValue_IsHomepage(v,a,w,g)); } function checkValue_IsHomepage(v,i,w,g) { if(g!=”NOT_TRIM“)v=v.replace(/(^\s*)|(\s*$)/g, ”“); bv=checkHomepage(v); return(checkBoolean(bv,i,w)); }

篇3:js,jquery常用法

前端JS

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果,通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

1、存在形式

1、文件形式

2、嵌入html

2、代码块的位置

标签内的代码底部

3、变量和函数的声明

1、全局变量和局部变量

name = 'alex'

var name = 'alex'

2、基本函数和自执行函数

function Foo(arg){

console.log(arg);

}

(function (arg) {

alert(arg);

})('alex')

4、字符串常用方法和属性

obj.trim

obj.charAt(index)

obj.substring(start,end)

obj.indexOf(char)

obj.length

5、数组

声明,如:

var array = Array() 或 var array = []

添加

obj.push(ele)         追加

obj.unshift(ele)        最前插入

obj.splice(index,0,'content') 指定索引插入

移除

obj.pop()           数组尾部获取

obj.shift()          数组头部获取

obj.splice(index,count)    数组指定位置后count个字符

切片

obj.slice(start,end)

合并

newArray = obj1.concat(obj2)

翻转

obj.reverse()

字符串化

obj.join('_')

长度

obj.length

注意:字典是一种特殊的数组

6、循环

var a = '123456789';

for(var i=0;i<10;i++){

console.log(a[i]);

}

for(var item in a){

console.log(a[item]);

}

DOM编程

文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口

wKiom1X7xaqhQ1u3AADOa7W3vPk731.jpg

选择器:

document.getElementById('id')

document.getElementsByName('name')

document.getElementsByTagName('tagname')

常用函数:

创建标签,document.createElement('a')

获取或者修改样式

obj.className

获取或设置属性

setattribute(key,val)  getattribute(key)

获取或修改样式中的属性

obj.style.属性

提交表单

document.geElementById(‘form’).submit()

常用事件:

onclick

onblur

onfocus

on...

onload和ready

body标签添加 或者 window.onload = function(){}

覆盖上一个onload只能注册一次,而ready就可以多次注册

$(document).ready(function(){}) 或者 $(function(){})

onload是所有DOM元素创建、图片加载完毕后才触发的。而ready则是DOM元素创建完毕后触发的,不等图片加载完毕。图片还么有渲染,就可以进行事件的执行。

其他函数:

console.log()

alert()

confirm()

setInterval(”alert()“,2000);  clearInterval(obj)

setTimeout();  clearTimeout(obj)

跑马灯,low爆了。。。

欢迎blue shit莅临指导

搜索框

jQuery

jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是的更加便捷的开发,并且在兼容性方面十分优秀,

选择器和筛选

属性

css

文档处理

事件

扩展

ajax

ps:链式编程

更多见:www.php100.com/manual/jquery/

实例

返回顶部

返回顶部

多选框

篮球

足球

羽毛球

菜单

.hide{

display: none;

}.container{

width:300px;

height: 600px;

background-color: #ddd;

border: 1px solid #999;

}.container .title{

height: 38px;

font-size: 28px;

line-height: 38px;

background-color: orange;

cursor: pointer;

}.container .body{

background-color:white;

}.container .body a{

display:block;

padding: 10px;

}

Menu1

content1

content2

content3

Menu1

content1

content2

content3

Menu1

content1

content2

content3

Menu1

content1

content2

content3

Menu1

content1

content2

content3

滚动菜单

首页

功能一

功能二

第1张

第2张

第3张

第一章

第二章

第三章

篇4:python正则表达式match和search用法实例

作者:songguo 字体:[增加 减小] 类型:

python提供了2中主要的正则表达式操作:re.match 和 re.search。

match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none;

search :将字符串的所有字串尝试与正则表达式匹配,如果所有的字串都没有匹配成功,返回none,否则返回matchobject;(re.search相当于perl中的默认行为)

import redef testsearchandmatch(): s1=”helloworld, i am 30 !“ w1 = ”world“ m1 = re.search(w1, s1) if m1: print(”find : %s“ % m1.group()) if re.match(w1, s1) == none: print(”cannot match“) w2 = ”helloworld“ m2 = re.match(w2, s1) if m2: print(”match : %s“ % m2.group())testsearchandmatch()#find : world#cannot match#match : helloworld

希望本文所述对大家的Python程序设计有所帮助,

篇5:匹配中文汉字的正则表达式介绍

这篇文章主要介绍了匹配中文汉字的正则表达式介绍,本文同时讲解了匹配中文字符的正则和匹配双字节字符的正则,需要的朋友可以参考下

\w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下

代码如下:

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

或许你也需要匹配双字节字符,中文也是双字节的字符

代码如下:

匹配双字节字符(包括汉字在内):[^\x00-\xff]

注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

篇6:IE和firefox在JS用法方面的区别

1.firefox不能对innerText支持,

firefox支持innerHTML但却不支持innerText,它支持textContent来实现innerText,不过默认把多余的空格也保留了。如果不用textContent,如果字符串里面不包含HTML代码也可以用innerHTML代替。

2.禁止选取网页内容:

在IE中一般用js:obj.onselectstart=function{return false;}

而firefox用CSS:-moz-user-select:none

3.滤镜的支持(例:透明滤镜):

IE:filter:alpha(opacity=10);

firefox:-moz-opacity:.10;

4.捕获事件:

IE:obj.setCapture() 、obj.releaseCapture()

Firefox: document.addEventListener(”mousemove“,mousemovefunction,true);

document.removeEventListener(”mousemove“,mousemovefunction,true);

5.获取鼠标位置:

IE:event.clientX、event.clientY

firefox:需要事件函数传递事件对象

obj.onmousemove=function(ev){

X= ev.pageX;Y=ev.pageY;

}

6.DIV等元素的边界问题:

比如:设置一个div的CSS::{width:100px;height:100px;border:#000000 1px solid;}

IE中:div的宽度(包括边框宽度):100px,div的高度(包括边框宽度):100px;

而firefox:div的宽度(包括边框宽度):102px,div的高度(包括边框宽度):102px;

所以在做这个兼容IE和firefox的拖动窗口时,在js和css的写法上要动点脑筋,给大家两个小技巧

一.判断浏览器类型:

var isIE=document.all? true:false;

我写了一个变量,如果支持document.all语法那么isIE=true,否则isIE=false

二.在不同浏览器下的CSS处理:

一般可以用!important来优先使用css语句(仅firefox支持)

比如:{border-width:0px!important;border-width:1px;}

在firefox下这个元素是没有边框的,在IE下边框宽度是1px

1.document.formName.item(”itemName“) 问题

问题说明:IE下,可以使用 document.formName.item(”itemName“) 或 document.formName.elements [”elementName“];Firefox下,只能使用document.formName.elements[”elementName“]。

解决方法:统一使用document.formName.elements[”elementName“]。

2.集合类对象问题

问题说明:IE下,可以使用 () 或 [] 获取集合类对象;Firefox下,只能使用 [ ]获取集合类对象。

解决方法:统一使用 [] 获取集合类对象。

3.自定义属性问题

问题说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用 getAttribute() 获取自定义属性;Firefox下,只能使用 getAttribute() 获取自定义属性。

解决方法:统一通过 getAttribute() 获取自定义属性。

4.eval(”idName“)问题

问题说明:IE下,可以使用 eval(”idName“) 或 getElementById(”idName“) 来取得 id 为 idName 的HTML对象;Firefox下,只能使用 getElementById(”idName“) 来取得 id 为 idName 的HTML对象。

解决方法:统一用 getElementById(”idName“) 来取得 id 为 idName 的HTML对象。

5.变量名与某HTML对象ID相同的问题

问题说明:IE下,HTML对象的ID可以作为 document 的下属对象变量名直接使用,Firefox下则不能;Firefox下,可以使用与HTML对象ID相同的变量名,IE下则不能。

解决方法:使用 document.getElementById(”idName“) 代替 document.idName。最好不要取HTML对象ID相同的变量名,以减少错误;在声明变量时,一律加上var关键字,以避免歧义。

6.const问题

问题说明:Firefox下,可以使用const关键字或var关键字来定义常量;IE下,只能使用var关键字来定义常量。

解决方法:统一使用var关键字来定义常量。

7.input.type属性问题

问题说明:IE下 input.type 属性为只读;但是Firefox下 input.type 属性为读写。

解决办法:不修改 input.type 属性。如果必须要修改,可以先隐藏原来的input,然后在同样的位置再插入一个新的input元素。

8.window.event问题

问题说明:window.event 只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用。

解决方法:在事件发生的函数上加上event参数,在函数体内(假设形参为evt)使用 var myEvent = evt?evt:(window.event?window.event:null)

示例:

<script. language=”javascript“>

function doSomething(evt) {

var myEvent = evt?evt:(window.event?window.event:null)

...

}

9.event.x与event.y问题

问题说明:IE下,even对象有x、y属性,但是没有pageX、pageY属性;Firefox下,even对象有pageX、pageY属性,但是没有x、y属性。

解决方法:var myX = event.x ? event.x : event.pageX; var myY = event.y ? event.y:event.pageY;

如果考虑第8条问题,就改用myEvent代替event即可。

10.event.srcElement问题

问题说明:IE下,even对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性。

解决方法:使用srcObj = event.srcElement ? event.srcElement : event.target;

如果考虑第8条问题,就改用myEvent代替event即可。

11.window.location.href问题

问题说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,只能使用window.location。

解决方法:使用 window.location 来代替 window.location.href。当然也可以考虑使用 location.replace()方法。

12.模态和非模态窗口问题

问题说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能,

解决方法:直接使用 window.open(pageURL,name,parameters) 方式打开新窗口。

如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口。如果需要父窗口控制子窗口的话,使用var subWindow = window.open(pageURL,name,parameters); 来获得新开的窗口对象。

13.frame和iframe问题

以下面的frame为例:

(1)访问frame对象

IE:使用window.frameId或者window.frameName来访问这个frame对象;

Firefox:使用window.frameName来访问这个frame对象;

解决方法:统一使用 window.document.getElementById(”frameId“) 来访问这个frame对象;

(2)切换frame内容

在IE和Firefox中都可以使用window.document.getElementById(”frameId“).src = ”xxx.html“或window.frameName.location = ”xxx.html“来切换frame的内容;

如果需要将frame中的参数传回父窗口,可以在frame中使用parent关键字来访问父窗口。

14.body载入问题

问题说明:Firefox的body对象在body标签没有被浏览器完全读入之前就存在;而IE的body对象则必须在body标签被浏览器完全读入之后才存在。

[注] 这个问题尚未实际验证,待验证后再来修改。

[注] 经验证,IE6、Opera9以及FireFox2中不存在上述问题,单纯的JS脚本可以访问在脚本之前已经载入的所有对象和元素,即使这个元素还没有载入完成。

15. 事件委托方法

问题说明:IE下,使用 document.body.onload = inject; 其中function inject()在这之前已被实现;在Firefox下,使用 document.body.onload = inject();

解决方法:统一使用 document.body. Function('inject()'); 或者 document.body.onload = function(){/* 这里是代码 */}

[注意] Function和function的区别

16.访问的父元素的区别

问题说明:在IE下,使用 obj.parentElement 或 obj.parentNode 访问obj的父结点;在firefox下,使用 obj.parentNode 访问obj的父结点。

解决方法:因为firefox与IE都支持DOM,因此统一使用obj.parentNode 来访问obj的父结点。

17.cursor:hand VS cursor:pointer

问题说明:firefox不支持hand,但ie支持pointer ,两者都是手形指示。

解决方法:统一使用pointer。

18.innerText的问题.

问题说明:innerText在IE中能正常工作,但是innerText在FireFox中却不行。

解决方法:在非IE浏览器中使用textContent代替innerText。

示例:

if(navigator.appName.indexOf(”Explorer“) >-1){

document.getElementById('element').innerText = ”my text“;

} else{

document.getElementById('element').textContent = ”my text“;

}

[注] innerHTML 同时被ie、firefox等浏览器支持,其他的,如outerHTML等只被ie支持,最好不用。

19. 对象宽高赋值问题

问题说明:FireFox中类似 obj.style.height = imgObj.height 的语句无效。

解决方法:统一使用 obj.style.height = imgObj.height + 'px';

20. Table操作问题

问题说明:ie、firefox以及其它浏览器对于 table 标签的操作都各不相同,在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,使用appendChild方法也不管用。

解决方法:

//向table追加一个空行:

var row = otable.insertRow(-1);

var cell = document.createElement(”td“);

cell.innerHTML = ”“;

cell.className = ”XXXX“;

row.appendChild(cell);

[注] 由于俺很少使用JS直接操作表格,这个问题没有遇见过。建议使用JS框架集来操作table,如JQuery。

21. ul和ol列表缩进问题

消除ul、ol等列表的缩进时,样式应写成:list-style.:none;margin:0px;padding:0px;

其中margin属性对IE有效,padding属性对FireFox有效。← 此句表述有误,详细见↓

[注] 这个问题尚未实际验证,待验证后再来修改。

[注] 经验证,在IE中,设置margin:0px可以去除列表的上下左右缩进、空白以及列表编号或圆点,设置padding对样式没有影响;在Firefox 中,设置margin:0px仅仅可以去除上下的空白,设置padding:0px后仅仅可以去掉左右缩进,还必须设置list-style.:none才 能去除列表编号或圆点。也就是说,在IE中仅仅设置margin:0px即可达到最终效果,而在Firefox中必须同时设置margin:0px、padding:0px以及list-style.:none三项才能达到最终效果。

22. CSS透明问题

IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。

FF:opacity:0.6。

[注] 最好两个都写,并将opacity属性放在下面。

23. CSS圆角问题

IE:ie7以下版本不支持圆角。

FF: -moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz-border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border- radius- bottomright:4px;。

[注] 圆角问题是CSS中的经典问题,建议使用JQuery框架集来设置圆角,让这些复杂的问题留给别人去想吧。

关于CSS中的问题实在太多了,甚至同样的CSS定义在不同的页面标准中的显示效果都是不一样的。一个合乎发展的建议是,页面采用标准DHTML标准 编写,较少使用table,CSS定义尽量依照标准DOM,同时兼顾IE、Firefox、Opera等主流浏览器。BTW,很多情况下,FF和 Opera的CSS解释标准更贴近CSS标准,也更具有规范性。

在不同浏览器下的CSS处理:

一般可以用!important来优先使用css语句(仅firefox支持)

比如:{border-width:0px!important;border-width:1px;}

在firefox下这个元素是没有边框的,在IE下边框宽度是1px

几处XHTML与正常状态下的JS、CSS的区别

在网页开头加了这个代码就是所谓的XHTML标准了

篇7:用纯JS做俄罗斯方块 简要思路介绍(1)

大家都知道俄罗斯方块是一款大众化的游戏了,我很小的时候就玩过,今年已经25岁了,可以说俄罗斯方块确实是历史悠久,做俄罗斯方块是我上个星期开始的想法,也许是由于自己从来没有写过这种东西吧,所以有生疏。代码的话,只完成了一小部分,大概1/5左右吧。今天还是决定先写一部分思路。

至于俄罗斯方块的话,有很多的难点,如果有JS去写的话,要考虑到碰撞啊,边界啊,下落等问题,本文这些问题大部分不会考虑到,只是提供一部分思路而已,开始已经说了,因为自己还没写完这个游戏,但是又出于想写博客记录,所以才有了这一系列的博客。

回到正题,我们首先想一想,俄罗斯方块需要什么?我做一个简单的归纳。如果我简单点说的话,就是一个俄罗斯方块对象,那么这个对象里又有些什么东西呢?我们可以想象一下,有一个平面直角坐标系,这个平面直角坐标系有X轴,有Y轴,也有“每一等分”的距离(unit),而俄罗斯方块就是一个一个的“格子”,这些格子从某一个地方开始下落,某一个地方停止下落,于是我们就规定了俄罗斯方块的“下落区域”(Area)。但是下落是一个“动作”,所以我们还要有一个类(这里定义为operate),来控制动作的下落。

好了,先就介绍到这里,我们再来做一段代码性质的归纳,表示对上面的代码做一段归纳。

/*俄罗斯方块实体类*/

function Tetris()

{

var self =this; //自身

this.area=null;//区域

this.operate=null; //操作

/*初始化X,Y,单元为5或者20*/

this.x=5;

this.y=5;

this.unit=20;

this.running=null; //是否在运行中

//俄罗斯方块实体ID

this.id=”tempid“;

//开始游戏

this.start=function()

{

this.area=new getArea(this.x,this.y,this.unit,”tempid“); //获得Area对象 ,其中TEMPID是俄罗斯方块实体类ID

this.operate=new OperateTetris(this.area,self);

//是否替换俄罗斯方块

if(this.operate.mayPlace())

{

//alert(1);

this.operate.place();

}

}

//开始游戏

document.getElementById(”startGame“).onclick=function(){self.start()};

}

那么,当我们点击StartGame的时候,开始游戏,即运行start()方法。好,我们现在开始考虑Area对象里面到底需要什么东西 function getArea(x,y,unit,id)参数需要带入4个,前面3个刚才已经说了,第四个参数就是Area的ID。我们需要area这个对象,所以通过HTML代码来设置ID。大家玩过俄罗斯方块的都知道,每一次触底,都会新加一个元素,而新的元素是“随机”的,每当一行是满的(这里不考虑颜色不同的情况),就会消掉一行,当然我们一次形成了多行可消掉的方块的时候,那么我们就可以消掉多行。下面的是代码,算是对上面的文字的一个小小的总结,还没有完成的代码。

//获得区域的横坐标和纵坐标

function getArea(x,y,unit,id)

{

this.x=x;

this.y=y;

this.unit=unit; //每个单元的大小,单位为像素

this.el=document.getElementById(id); //得到ID对象

this.board=[]; //面板,即在区域范围内的元素(俄罗斯方块)

//添加元素

this.addElement=function()

{

//得到起始元素的X开始坐标和Y开始坐标的位置(错误)

//得到X坐标的下落次数,和Y轴的左右移动的次数

var xBegin=parseInt(el.offsetLeft/unit);

var yBegin=parseInt(el.offsetTop/unit);

if(xBegin>=0&&xBegin<=this.x&&yBegin>=0&&yBegin<=this.y)

{

board[yBegin][xBegin]=el; //确定元素的位置

}

}

//消掉所有的行

this.removeFullLines=function()

{

var lines=0;

for(var i=this.y-1;y>0;y--)

{

if(this.linesRelated(y))

{

lines++;

this.y++;

}

}

}

//和线性有关的东西(判断是否满了)

this.linesRelated=function(y)

{

for(var x=this.x;x>0;x--)

{

this.removeLines(y);

if(this.board[y][x]){return false;} //不明觉厉

}

return true;

};

//去掉行

this.removeLines=function(y)

{

for(var x=0;x

{

this.el.removeChild(this.board[y][x]);

this.board[y][x]=0;

}

y--;

for(;y>0;y--)

{

/*今天暂时写到这里*/

}

};

}

需要注意的一点是,俄罗斯方块是“二维性质”的,所以我这里定义了一个board类型的二维数组,即board[行][列](board[y][x]).好了,这里我们当然还需要一个类,这个类就是控制元素下落的“动作”的类,那么这个下落“动作“的类里应该有一些什么东西呢?我们需要考虑边界,于是有了(区域),我们要考虑俄罗斯方块于是有了俄罗斯方块对象(tetris),因为方块的种类不同,有各种不同的形状于是我们必须考虑方块的类别(types),还有下一个类别(NEXTTYPE),因为方块有下一个提示;我们需要考虑方块在AREA中的位置于是有了(position),我们需要判断游戏是否暂停于是有了running,当然了,方块下落的速度SPEED肯定也是要考虑到的,如果GAME OVER了那么就要判断游戏是否停止stopped,当然了,方块是一个一个的元素于是我们要考虑elements,当然了,最重要的还是下落(falldown).下面是定义的代码:

var self=this; //当前对象

this.area=area;

this.tetris=tetris;

this.types=null; //方块的类型;

this.nextType=null; //下一个类型

//初始化X和Y

this.x=null;

this.y=null;

this.position=0; //初始位置

this.board=[]; //用来填充HTML元素的

this.elements=[];

this.running=null; //是否在运行中

this.stopped=null; //是否停止

this.fallDownId=null; //往下掉落的

this.speed=null; //速度

这么一说有点头晕,我们选一个切入点吧,我们的切入点就是如何构造方块。大家应该知道俄罗斯方块的几种形状吧,比如T形,L形,口形等等,那么我们可以想象一下,把俄罗斯方块定义成一个二维数组,然后有元素的地方为1,没元素的地方为0来构造形状,如下面的代码:

/*方块的组合方式,用数组进行组合(二维数组)

用0,1表示是否有方块存在,如果是0:不存在,1:存在,

以下的逻辑就可以非常的清楚了,

*/

this.blockComplex=[

[

[0,0,1],[1,1,1],[0,0,0] //_|

],

[

[1,0,0],[1,1,1],[0,0,0] //L

],

[

[0,1,0],[1,1,1],[0,0,0] //T

],

[

[0,0,0],[1,1,1],[0,0,0] //--

],

[

[0,0,0],[0,1,1],[0,1,1] //口

],

[

[0,1,1],[0,1,0],[1,1,0] //Z

]

];

好了,形状构造好之后,我们当然需要考虑程序的性能方面的问题,于是我创建了如下的GETTER方法,来判断是游戏是否在运行中等。

/*一连串的GETTER方法

分别是速度,X,Y轴,运行和停止的GETTER方法*/

this.getSpeed=function()

{

return this.speed;

}

this.getX=function()

{

return this.x;

}

this.getY=function()

{

return this.y;

}

this.isRunning=function()

{

return this.running;

}

this.isStopped=function()

{

return this.stopped;

}

当然了,我们如果要”重新开始游戏“,肯定是要建立一个方法reset(),说白一点,就是恢复游戏开始的状态。

//重置(初始化)

this.reset=function()

{

this.nextType=random(this.blockComplex.length);

this.types=this.nextType;

this.position=0;

this.board=[];

this.elements=[];

this.x=null;

this.y=null;

}

如果这个俄罗斯方法触底的话,那么肯定是会触发下一个俄罗斯方块的开始于是我们这里肯定要有一个方法, 内容我还没想好,就给一个架子吧。我直接返回TRUE了。

this.mayPlace=function()

{

return true;

}

下面的是最重要的方法,就是我们的替换方块的方法。先来简单做一个介绍,我也不知道自己能不能讲好,大家想想在一个坐标系中,方块如果下落了,肯定是Y--,毕竟方块是向下方下落的,当然,我们还需要有线条,假设我们一直在堆方块的话,这个线肯定是会增加的,还有我们的方块本身就是DIV,肯定是一个掉落DIV的过程,而这些DIV,肯定是在AREA范围内的。我们不妨想一想,第一步,我们来创建一个空的BOARD,就是面板,然后往这个面板里面填充东西呢?

//创建空对象,即所有的都为0的对象,并返回对象

this.createEmpty=function(x,y)

{

var elements=[];

for(var y2=0;y2

{

elements.push(new Array());

for(var x2=0;x2

{

elements[y2].push(0);      }

}

return elements;

}

我们如果想下落元素的话,肯定是要知道开始下落的坐标,当然Y轴肯定是0,X轴可以依据自己的喜好来设定。当然了,下落的DIV肯定是属于这个AREA下面的子元素的,所以我们等下肯定要把这个APPENDCHILD到这里面去。下面是代码:

/*替换*/

this.place=function()

{

//初始化

var perate=this.blockComplex[this.types];

//区域开始X轴的位置

var AreaXStartPos=parseInt(this.area.x-operate[0].length);

//区域开始Y轴的位置

//var AreaYStartPos=parseInt(this.area.y-operate[0]);

var AreaYStartPos=1; //因为X轴的位置可能变化,而Y轴总是从最上面下来的,所以是1

this.x=AreaXStartPos; //把新的位置赋给X;

this.y=AreaYStartPos; //把新的位置赋给y;

//构建空对象,并存入BOARD

/*y:行,x:列*/

//alert(operate[0].length+” “+operate.length);

this.board=this.createEmpty(operate[0].length,operate.length);

/*线条,往下掉落,初始化*/

var lines=0;

var foundLines=false;

//循环遍历,先遍历行,每一行再来遍历列

for(var yAxis=this.board.length-1;yAxis>=0;yAxis--)

{

for(var xAxis=0;xAxis<=this.blockComplex[yAxis].length;xAxis++)

{

if(this.blockComplex[yAxis][xAxis])

{

var el=document.createElement(”div“);

el.className=”block“+this.types; //确定这个元素的CLASSNAME

//确定左边距和上边距

el.style.left=(this.x+xAxis)*this.area.unit+”px“;

el.style.top=(this.y+yAxis)*this.area.unit+”px“;

this.area.el.appendChild(el); //这个EL去APPEND主要的EL。

this.board[yAxis][xAxis]=el;

this.elements.push(el); //推入elements中

}

}

/*个人感觉这个功能应该是加速往下掉落的方法?不明觉厉*/

if(lines)

{

yAxis--;

}

if(foundLines)

{

lines++;

}

}

需要注意的是,当下一个俄罗斯方块(随机)的形成是随机的,所以我们需要定义一个RANDOM方法。其实每次下落都是一个RESET的循环,只是游戏还没有结束而已。

//随机数,产生1~6的

function random(i)

{

return Math.floor(Math.random()*i);

}

好了,今天只介绍一个思路,当然了,我也没写出来这个游戏,等下一篇出来的时候应该游戏会有一个大的架子了,还有一些代码我都不好意思放出来了,写得太差了。其实这个俄罗斯方块不完全是我自己写的,我也参考了下别人的东西,但不是抄袭,我想通过自己的努力,做一个游戏出来,这是我多年的梦想,努力!

至于全部的代码我就不贴了,因为还没写完,只是对这几天写代码的一个总结而已,高手可以无视我写的代码。

篇8:个人防护用品用法介绍

个人防护用品用法介绍

①安全帽:

戴安全帽前应将帽调整至合适位置,人的头顶和帽体内顶都应当保持25-50毫米,并注意帽内通风。不能将安全帽戴歪和帽沿戴在脑后方,安全帽的下领带必须扣好。定期检查,如发现开裂、变形、磨损,应当报废。不可将安全帽用于其他用途。不可将安全帽暴晒、涂油漆,破坏帽子结构。

②安全带:

在2米及2米以上高度作业必须使用安全带。使用前检查安全带有无损坏。必须挂在牢固的地方,且避开尖锐楞角。高挂低用。禁止私自接长安全带,使用后妥善保管,避潮、避强酸和避强碱。

③防护手套:

劳动保护手套可以保护手和手臂。绝缘手套要根据电压选择,用前检查。耐酸、耐碱手套可以防止手被腐蚀。橡胶耐油手套用于接触矿物油、植物油和脂肪族的各种溶剂。焊工手套用于焊接作业时佩戴,用前检查有无破损和长度。

④防护面罩和眼镜:

护目镜要经检查合格。护目镜尺寸要与使用者的.脸型匹配,镜片磨损、镜架损坏应及时更换。防止重摔、重压和硬物摩擦护目镜。根据作业需求选用不同的镜片。

⑤防尘口罩:

材质不应对人有害,不应有刺激性。防尘口罩要与脸型匹配。使用前检查各部件的完整性和气密性。

篇9:关于Although的用法介绍

1.表示“虽然”时,不要根据汉语习惯,在后面使用连词 but, 不过有时它可与 yet, still, nevertheless 等副词连用。如:

他虽然年纪很大了,但还很强壮。

正:Although he is very old, (yet) he is quite strong.

误:Although he is very old, but he is quite strong.

但是在一定的上下文中,类似下面的 although 与 but 连用的句子是可能的 (注意 but 引出的句子在 although 从句之前) 。如:But Ididn’t know that then, although I learned it later. 但我当时的确不知道此事,尽管后来还是知道了。

2. 不能用于 as though (好像),even though (即使) 等习语中代替 though, 也不用于让步状语的倒装形式中。

3. 若主从句主语相同,且从句谓语含有动词be, 可将从句主语和动词 be 省略。如:Although (he is) quite young, he knows a lot. 虽然很年轻,但他很懂事了。

In any case, she was very lovablealthough not at all tidy. 不管怎么讲,她还是很可爱的,尽管一点也不爱干净。

4. 有时用于主句之后,起补充说明的作用,相当于 however, but。如:He is poor-- although he is well contented. 他很穷,然而却能知足常乐。

The price increase will obviously be unpopular, although it’s unlikely to reduce demand. 价格升高显然会不受人欢迎,然而这不大可能会降低人们的需求。

篇10:男士爽肤水用法介绍

妙用1:迅速保湿

如果感到脸部肌肤紧绷不适,只要在脸上轻轻拍上爽肤水,足以立刻喂饱饥渴的皮肤。含芦荟、GLYCOLIC ACID、氨基酸、山梨糖醇等成分的爽肤水,更有效地即时保湿,令皮肤不致紧绷。

Tips:爽肤水一般使用于洁面乳之后,不过也有个别品牌的水状护肤品有自己独特一套使用程序,记得购买前问清楚。

妙用2:为眼部及唇部保湿

但这些部位也很容易干燥,爽肤水由于质地较轻、易于渗透,不怕阻塞眼部和唇部四周肌肤的毛孔,是为皮肤提供及时保湿功效的推荐产品。

Tips:眼部和唇部四周的皮肤很敏感,涂抹在这些部位的爽肤水一定不能过于刺激,防敏配方、植物配方的爽肤水都是很好的选择

妙用3:急救面膜

爽肤水倒于面膜纸上,敷10至15分钟,爽肤水即时变为保湿面膜。由于质地轻柔,容易让皮肤吸收,比保湿面膜效果更快捷,而且可省却以清水洗掉的程序,让爽肤水完全渗透入皮肤,绝对方便快捷。

Tips:不要心疼用量,这款保湿面膜肯定要比正式保湿面膜划算,而且功效显著,性价比很高。

妙用4:及时收缩毛孔

早上起床发觉鼻侧毛孔扩张严重,这是因为油脂分泌过盛撑大了毛孔。每天早晨彻底洁面后。

Tips:含有绿茶成分或其他植物萃取精华的爽肤水收毛孔效果不错。

妙用5::极致控油

充分运用爽肤水的收缩毛孔的功效,可以起到很好的控油效果,这对于油脂分泌旺盛的MM是很不错的哦。并且大部分的控油爽肤水都含有清洁和吸收油脂的成分,可以有效清除面部多余的油脂,给你创造一个干爽的面部皮肤。

妙用6:按摩颈部防皱

随着年龄的增长,颈部皮肤的变化也是最为明显的,因此做好颈部皮肤的保养工作,对于保持年轻的状态是很有帮助的。在很多皮肤护理的人群中,只知道对面部皮肤的护理,往往忽略了对于我们很重要的颈部皮肤的护理和保养。使用我们平时就经常使用的爽肤水擦拭按摩颈部周围的皮肤,不仅可以促进血液循环,润肤保养,而且长期下来可以有效防止颈部皱纹的过早出现。

妙用7:提神抗疲劳

大家对着电脑的时间越来越长,双眼整天看着电脑以及长期佩戴隐形眼镜,这些都会加剧我们的疲劳状态。在我们感到疲倦不堪的时候,应该给自己一个充分休息放松的机会。通过将爽肤水倒于两片化妆棉或者面膜纸上,平敷在双眼上,闭目养神约10分钟左右,便可以起到很好的舒缓眼部疲劳感,并迅速补充眼部的水分,保持眼部清爽舒适。

妙用8:保湿神器

随身在包里放一支爽肤水,在进入干燥的低温环境中时轻轻在脸上喷一点,便马上可以给您的皮肤提供补水,保持皮肤湿润。另外爽肤水还可以在补妆的前后使用,不仅可以是妆容更加服帖不易脱落,而且还可以有效的减少下午浮妆现象的出现。

妙用9:美白祛斑

用化妆棉均匀的在脸上涂爽肤水,可以于有助改善皮肤光泽不均,暗黄和黄斑等的肌肤问题。爽肤水由于含有较为丰富的维他命C、维生素E等成分,能更快速的渗透入肌肤底层,让皮肤充分吸收,能够有效防止皮肤黑色素生成和沉淀。

妙用10:清除角质

夜猫子越来越多,睡眠不足、压力大的人群也不断增多。这些因素都可以导致面部皮肤角质变厚、皮肤欠光泽暗黄和缺乏弹性。用化妆棉沾上一些爽肤水,在比较容易现成角质层增厚的部位,比如说鼻翼部位、下巴、额头等位置用爽肤水轻轻的多抹几下,增厚的角质便可以被轻易的带走清除干净。

[男士爽肤水用法介绍]

篇11:男士爽肤水用法介绍

拍打法

在清洁完面部后,把爽肤水以轻拍的方式涂在脸上,尤其是一些细小的位置不要错过了,这样可以帮助爽肤水的吸收,并帮助收缩毛孔。

擦拭法

擦拭法可以帮助肌肤二次清洁。把爽肤水倒在化妆棉上,沿着皮肤的纹理来擦拭上爽肤水,轻柔的动作和化妆棉不会对皮肤造成拉扯和损伤,油脂分泌较多的T区可以适当延长擦拭时间。

篇12:despite的用法介绍

despite的用法介绍

despite在英语中是很重要的一个单词,即能组成一个词组来用,也可以自己成为一个副词。但是,很多学生对于这个单词都是不太在乎,不想去深入的学习,导致对于这个单词有很多的误解。这样最终学起来肯定会有很大的问题。所以,我们还是认真的把这个单词的用法都总结一遍,然后再去学习其它的,这样就简单多了。

一、详细释义:

n.

卑鄙的行为,侮辱,伤害

例句:

He was determined to avenge the despite.

他决心为受到的侮辱报仇雪恨。

恶意,怨恨 [U]

轻蔑,轻视 [U]

例句:

She wanted neither favor nor despite.

她既不想被人赞美也不想受到轻视。

prep.

不管,尽管,任凭

例句:

She managed to preserve her sense of humour despite everything.

她不管遇到什么情况都竭力保持着幽默感。

例句:

The problem is, how to keep production going despite a critical shortage of people.

问题在于,如何在人手奇缺的情况下继续生产。

不由自主,情不自禁

例句:

Despite myself, Jim's remarks had caused me to stop and reflect.

吉姆的话让我不由自主地停下来细想。

例句:

Hearing the good news, the kids smiled despite of themselves.

听到了这个好消息,孩子们不由自主的笑了。

二、词义辨析:

despite,in spite of,notwithstanding

这些前置词或前置短语都含有“虽然,尽管”之意。despite书面用词,指不受某事或某种原因的阻碍,语气轻于in spite of。in spite of在这些词中语气最强,可与despite换用,口语或书面语中均可使用。notwithstanding语气最弱,仅表示一种障碍的存在。

三、参考例句:

He lives on despite the car accident.

尽管出了车祸,他仍然活下来了。

They remain friends despite all their differences.

尽管看法不同,他们还是好朋友。

They achieved some victories despite these odds.

尽管受到这些挫折,他们还是取得了一些胜利。

He was obviously distressed despite being unconscious.

虽然他自己未发觉,但他显然很忧心。

Despite her aching shoulders, Nancy held on.

南希紧抓不放,不顾双肩疼痛。

I like him despite his faults.

虽然他有种.种缺点,但我仍然喜欢他。

I failed the exam despite studying hard.

尽管努力学习,我还是考试不及格。

I like him despite his faults.

虽然他有很多缺点,我仍然喜欢他。

The plane took off despite the fog.

尽管有雾,飞机仍照常起飞。

They won the game despite overwhelming odds.

尽管差异悬殊,他们还是赢得了比赛。

would rather的五个重要句型

一、后接动词原形

后接动词原形,表示“宁愿做某事”。如:

I'd rather be told the truth than be lied to. 我宁愿听真话,不愿被欺骗。

I've already seen that film, so I'd rather see another one. 我已经看过那部电影了,所以还是看部别的吧。

I'll go if you're going. If not, I'd rather stay at home. 你去我就去,否则我宁可待在家里。

I'd rather do it without anybody's help. 我宁愿不要任何人帮助,自己干这件事。

“How about a drink?” “I'd rather have something to eat.”“喝一杯怎么样?”“我宁愿来点吃的。”

注:would rather的否定式,通常要将not置于rather之后。如:

I'd rather not say anything. 我宁可什么也不说。

二、后接完成式动词

后接完成式动词,表示过去的想法,通常可译为“(本来)宁愿做某事”。如:

We went by sea, but I' d rather have gone by air. 我们是乘船去的,可我本想乘飞机去。

“At that time, I would rather have been a factory worker than an animal keeper,” he said. “那时,我宁愿做一个工厂工人,也不愿做动物饲养员,”他说道。

三、后接从句

后接从句时,从句谓语要用虚拟语气。具体说来,有以下两种情况:

1. 指现在或将来用过去时。如:

I would rather you didn't mention the price. 我愿意你别提价钱。

I'd rather you knew that now, than afterwards. 我宁愿你现在知道而不是以后。

Don't come and see me today—I'd rather you came tomorrow. 今天不要来看我——我希望你们明天来。

Tomorrow's difficult. I'd rather yon came next weekend. 明天有困难。我希望你下周末来。

“We might go for a swim” “No,l'd rather we didn't.” “我们去游泳吧。”“不,我想我们最好不去。”

“Shall I give you a cheque?” “I' d rather you paid cash.” “我付给您支票行吗?”“我想您最好付现金。”

Ann said that Bill wanted to go alone but that she'd rather he went with a group. 安说比尔想一个人去,但她宁愿他跟一大群人一起去。

2. 指过去用过去完成时。如:

I'd rather he hadn't told me about it 我宁愿他未告诉我这件事。

Kate went by car and I'd rather she hadn't. 凯特是坐汽车去的,我倒愿意她不是坐汽车去的。

I'd rather she had asked me before borrowing the car. 我真希望她先问我一声再借车。

注:有时用于虚拟语气语境中。如:

If I'd lived in 1400, I'd rather have been a knight than a monk. 如果我生活在14,我宁愿当骑士,不当修道士。

If she'd had a chance, she'd rather have lived 100 years ago. 如果有机会她宁愿生活在100年前。

四、用于would rather…than…结构

此结构表示“宁愿(做)……而不愿(做)……”。如:

I'd rather go hungry than eat that! 我宁可挨饿也不吃那种东西!

I' d rather pay his fine for him than let him go to prison. 我宁愿替他交罚款,也不愿让他蹲监狱。

He would rather have the small one than (have) the large one. 他宁愿要小的那个,而不愿要大的。

I'd rather use my money than leave it lying in the bank. 我宁可把钱花了也不想存在银行里。

I'd rather have a room of my own. however small (it is), than share a room. 无论房间多么小,我宁愿一个人住一间,而不愿意与别人合住一个房间。

五、用于口语表达I'd rather not

口语中说I'd rather not,表示委婉的不同意,其意为“我宁愿不……”。如:

“Are you coming with us?” “I'd rather not.” “你和我们一起来吗?“”我不想。”

“Some more wine” “Thank you. I'd rather not. I have to drive home.” “再来一点酒好吗?”“不要了,我不能再喝了。我还得开车回家呢。”

The boys' d rather go by air, wouldn't they? 男孩子更愿意坐飞机走,对吗?

You'd rather not wake a sleeping dog, would you? 你总不想没事找麻烦,对吧?

rather than的用法

一、rather than用作连词,连接两个平行结构。既可以表示主观愿望上的决择,“与其…宁可…”,也可以表示客观程度上的差异,“与其说是…不如说是…”。例如:

1、接代词

1)I,rather than you,should do the work.

该做这工作的是我,而不是你。

2、接名词

2)John ought to go rather than Jean.约翰比琴更应该去。

3)I think I'll have a cold drink rather than coffee.

我想我该要一杯冷饮,而不要咖啡。

试比较:

4)We sometimes eat rice instead of potatoes.

有时候我们不吃土豆,而吃米饭。

3、接形容词

5)These shoes are comfortable rather than good-looking.

这鞋不好看可是舒服。

6)You are doing this for yourself rather than for your friend.

你不是为你朋友,而是为你自己做这种事。

7)I'd prefer to go in August rather than in July.我愿8月去不愿7月去。

5、接动名词

8)I always prefer starting early,rather than leaving everything to the last minute.

我总是愿意早开始而不愿意把所有事情都留到最后才做。

9)He was engaged in writing a letter rather than reading the newspaper.

他那时是在写信而不是看报纸。

6、接过去分词

10)She insisted on having the room papered rather than painted.

她坚持要用纸裱糊房间,而不是把房间粉刷一下。

7、接不定式(一般省略to)

11)I decided to write rather than telephone.我决定写信而不是打电话。

12)They prefer to die fighting rather than live in enslavement.

他们宁可战死,也不肯活着受奴役。

13)I prefer to work rather than remain idle.我宁愿工作而不愿闲着。

8、接谓语动词

14)He told a lie rather than get his friend into trouble.

他宁愿说谎也不愿连累朋友。

15)Shall we go for a walk rather than watch television?

咱们不看电视,出去散步,好不好?

16)He ran rather than walked.他跑步而不是步行。

rather than后接动词原形表示主观抉择,接一个动词的过去式则表示客观差异。

9、接从句

17)It was what he meant rather than what he said.

那是指他话中的意思,而不是他所说的话。

18)It was what he had caten rather than what he had drunk that made him ill.使他得病的不是他喝的东西,而是他吃的东西。

二、rather than用作介词

R.Quirk编著的《英语语法大全》p.1387明确指出:和as well as及instead of一样,rather than后面跟一个和母句中的动词形式并不匹配的ing分词分句时,它是介词,而不是准并列连词:

19)Their actions precipitated the war rather than averting it.

他们的行为促使战争爆发而不是避免战争。

20)Rather than a new car,he bought a colour television.

他买了一台彩电,而不是一辆新车。

21)Let's finish the job today,rather than leaving it till tomorrow.

让咱们今天干完工作,而不是留到明天。

三、rather than用作从属连词,引导一种优选分句。

R.Quirk在《英语语法大全》p.1540指出:优先分句主要用从属连词rather than和sooner than引导,用不带to的不定式作该分句的谓语动词:

22)Rather than go there by air,I'd take the slowest train.

我宁愿乘最慢的火车,也不愿乘飞机去那儿。

1) rather than此处是介词短语,意思是”与其“、”不是“,相当于instead of。如:

I think you, rather than Mary, is to be punished.

我认为该受惩罚的是你,而不是玛丽。

Rather than fish, well have fried eggs and meat for lunch.

今天午餐吃煎蛋和肉,而没有鱼。

The colour seems green rather than blue.

这颜色看上去是绿的,而不是蓝的。

I always prefer starting early, rather than leaving everything to the last minute. 任何事情我总是喜欢早点做,不要到最后。

Ill have a cold drink rather than coffee. 我要喝冷饮,不想喝咖啡。

2)rather than可以和would连用,如would rather…than…或would…rather than…这时要注意”平行问题,即其前后必须用相同的语法单位。如:

Id rather have the red one than(have)the green one.

我宁愿要红的,不愿要绿的。

Id take the slowest train rather than go there by air.

我宁可乘坐最慢的火车也不愿坐飞机去那儿。

He would rather walk than drive. 他宁愿步行不愿开车。

Id prefer to go in August rather than in July. 我愿八月去,不愿七月去。

Id call her hair chestnut rather than brown.

我宁愿说她的头发是栗色,而不是棕色。

【注意】I'd rather +动词原形,通常意为“我宁愿……”,相当于“Id prefer to…”,具有选择意义,即“宁愿做……不愿做”。但是,当后接动词like, enjoy, appreciate时,rather是一个程度副词,象quite和fairly一样无选择意义,所以Id rather like不是“我宁愿喜欢”,而是“我相当(很)喜欢”。试比较下列句子:

①“Id rather like a cup of coffee.” “Oh, would you? Id rather have a beer. ” “我很想来杯咖啡。”“噢,是吗?我宁愿喝杯啤酒。”

②We would rather appreciate your help. 我们非常感谢你的帮助。

③Which would you rather have, tea or coffee? 你更愿意喝什么,茶还是咖啡?

④He would rather enjoy seeing a film on Sundays. 他很喜欢在星期天看场电影。

篇13:must的用法介绍

一、must表示“必须”、“一定要”

(1) 对于must 开头一般疑问句,若要作否定回答,可用needn’t,不用mustn’t:

“Must I come over tonight?” “No, you needn’t.” “我今晚必须过来吗?”“不必。”

(2) 主要表示现在或将来,但有时(如在间接引语中)也可表过去(=had to):

She asked if she must (had to) leave. 她问她是否一定要离开。

(3) 其后可接被动结构或进行形式:

Something must be done to stop it. 必须采取措施来阻止它。

I think I must be going. 我想我得走了。

(4) 可用于肯定句、否定句或疑问句;用于否定句时,mustn’t 的意思是“一定不要”、“不能”,而不是“不必”:

You must finish it today. 你一定要在今天完成它。

You must see the doctor. 你一定要看医生。

Must you go so soon? 你一定得这么早就走吗?

We mustn’t think only of ourselves. 我们可不能只考虑自己。

二、must表示“应当”

相当于should, ought to的意思:

You must say hello to her.你应当跟她打个招呼。

We must go and have a weekend there.我们应当到那里度周末。

三、表示“偏偏”

有时表示不巧,有时表示固执,通常都是指令人不快的事:

We were ready to leave, but the baby must catch cold. 我们刚准备好要走, 可孩子偏偏得了感冒。

Just when I was busy, the neighbor must come and chatter. 正当我忙碌的时候,邻居偏偏过来聊天。

Must you make so much noise? 你就非得弄出这么大的声音吗?

Why must you always interrupt me? 你为什么硬是老要打断我?

四、must表示推测

其意为“准是”、“一定是”,注意以下几点:

(1) 通常只用于肯定句,在否定句或疑问句用 can 代之:

It must be true. 那一定是真的。

比较:Can it be true? 那可能是真的吗? / It can’t be true. 那不可能是真的。

注意:must 表示对现在情况的推测后接动词原形时,该动词通常为状态动词(如 be, have, know 等),若为动作动词,通常要转换其他说法。如要表示“他一定会赢”,通常不说He must win,可说He is sure to win。(He must win的意思是“他必须要赢”)

(2) 其后可接进行式或完成进行式,用以谈论一个正在进行的动作:

He must be writing a letter to his girl friend. 他一定在给他女朋友写信。

Someone must have been smoking here.一定有人一直在这里抽烟。

(3) 后接动词原形,表示对现在情况的推测:

He must be wrong. 他一定错了。

The man must have a lot of money. 这个人一定有不少钱。

(4) 后接完成式,用来谈论已发生的情况:

He must have arrived already.他一定已经到了。

I didn’t hear the phone. I must have been asleep. 我没有听到电话铃,我一定是睡着了。

五、must 与 have to 的区别

(1) 时态形式不同:must 只有现在时一种形式(在宾语从句中可以表示过去),而 have to则有多种时态形式:

He said (that) she must go with me. 他说她必须同我一起去。

She had to go there on foot yesterday. 昨天她不得不步行去那儿。

They have had to buy a car. 他们不得不买了辆小汽车。

(2) 强调重点不同:两者都表示“必须”,但 must 侧重于说话者的主观看法,认为有必要或有义务去做某事;have to则重于客观需要,含有“不得不”或“被迫”之意:

We must go at once. 我们必须马上就走。

If I buy that car, I’ll have to borrow some money. 如果我要买那辆汽车, 我得借些钱。

(3) 否定式的意义不同:must 的否定式 mustn’t 意为“一定不要”、“不允许”;而 have to 的否定式 don’t have to 意为“不必”(=needn’t)。比较:

You mustn’t tell him about it.你一定不要告诉他这件事。(这可能是秘密)

You needn’t tell him about it.你不必告诉他这件事。(他可能知道了)

(4) have to可以有分词、动名词、不定式等形式,而must则没有这些形式:

He only saw her in the evening, having to be away all day. 他整天得外出,只能晚上见她。

I regret to have to trouble you again. 我很抱歉不得不再麻烦你一次。

篇14:need的相关用法介绍

一、可作名词:表示“需要, 必需, 必需品”等。如:

The doctor told me I was in need of a good rest. 医生说我需要好好休息。

There is no need for you to go. 你没有必要去。

Our needs are modest. 我们的必需品是谦虚

二、作行为动词:可用于疑问句、否定句和肯定句。如:

Does he need to go so soon?他这么快就要走吗?

He doesn’t need to go. 他不需要走。

He needs to go. 他想走

They need our help. 他们需要我们帮助。

注:作行为动词的need后可接动名词的主动式表示被动含义。如:

The garden needs watering(=to be watered) . 花园该浇水了。

三、作情态动词:通常用在疑问句、否定句中,或与条件句、whether, hardly, nobody等连用。如:

Need he go so soon?他这么快就要走吗?

He needn’t go. 他不必走。

If she wants anything, she need only ask. 她想要什麽, 只需说一声就行。

He wondered whether they need go there. 他不知道他们是否需要去那里。

Nobody need be afraid of catching the disease. 谁都不用害怕能得这种病.

注意:

1. 因 need 不能用于肯定句,因此肯定回答要用 must。如:

—Need I stay here any longer? 我需要在这呆下去吗?

—No, you needn’t. 不需要。

—Yes, you must. 是的,需要呆下去。

2. need have done 的否定式或疑问式,表示“本来不必做某事,但事实上却做了”。如:

She needn’t have come in person a call would have been enough. 她本不必亲自来——打个电话来就足可以了。

Need you have paid so much?你当时真须要付那麽多钱吗?

下面是need的一些双语例句:

1、We need money right? We could go around and ask if people need odd jobs done or something.

咱们需要钱,对不对?咱们可以去周围打听一下看有没有人要找人做零工什么的。

2、The need to decentralize and devolve power to regional governments

将权力下放并移交给地方政府的需要。

3、Big, successful moves need bold, masterful managers.

重大而成功的举措需要既大胆又善于控制局势的经理来实施。

篇15:neither的用法介绍

▼neither的解释

det. & pro.无一个

adv.两者皆非;两者均不;也不

▼neither的用法

●1. neither用作连词,常用短语为neither...nor...,表示“既不……也不……”。

例如:

Neither he nor I am well educated. 他和我都没受过良好教育。

I have neither time nor money. 我既没时间也没钱。

The novel is neither realistic nor poetic.那部小说既不写实也没有诗意。

提醒注意:①neither和nor后面接同一词性的单词或短语。

②neither...nor...结构用作主语时,谓语动词必须与nor后面的名词或代词在

人称及数上保持一致,即所谓的就近原则。

③在表示“既……也……”,即“两者都……”时,常用短语both...and...;

表示“或者……或者……”(即二者选一)时,常用短语either...or...。

●2. neither用作副词,作“也不”解释,放在句首,表示前面否定的内容也适

用于另一个人或物,句子须采用部分倒装。此时也可用nor替换neither使用。

—I don't like this dress. 我不喜欢这件连衣裙。

—Neither / Nor do I. 我也不喜欢。

If you don't suppose the plan, neither / nor will I. 如果你不支持那项计划,我也

不支持。

提醒注意:neither之后的主语要置于助动词或系动词之后。

●3. neither用作代词,表示“两者都不,双方均不”。例如:

He answered neither of the letters. 他两封信都没回。

She bought two toys, but neither can please the child. 她买了两个玩具,却没有

一个能让小孩高兴。

—Which one would you like? 你喜欢哪一个?

—Neither. 两个都不喜欢。

此时,与neither用法较为接近的词是none,但none的含义略有不同,none

表示“(三者以上)所有的……都不”。例如:

None of us are perfect. 人无完人。

提醒注意:neither作主语时,通常被视为单数,但从意义上讲也可视为复数。

Neither of the cars was / were damaged. 两部车都没有受损。

●4. neither用作形容词,表示“(两者)都不”,置于单数名词之前。

Neither article is made in Beijing. 这两种物品都不是北京制造的。

I will participate in neither game. 那两项比赛我都不参加。

We discussed neither subject.这两个问题我们都没有讨论。

提醒注意:在口语中以not... either...替换neither使用的情形也很多。例如:

They bought neither house. = They didn't buy either house. 两间房子他们都没

买。

▼neither的短语

neither here nor there

不重要

neither fish nor fowl

非驴非马, 不伦不类

neither shit not Shinola

不是这件事;也不是那件

neither fish nor fowl nor good red herring

非驴非马;不伦不类

neither chick nor child

没有孩子

neither do

既不

me neither

我也没有;我也不;我也不是

neither do I

我也不;我也不想

neither nor

既不 也不

neither A nor B

既不是 A 也不是 B

篇16:FTP功能用法的介绍

FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。

FTP的命令行格式为: ftp -v -d -i -n -g (主机名) ,其中

-v 显示远程服务器的所有响应信息;

-n 限制ftp的自动登录,即不使用;

.n etrc文件;

-d 使用调试方式;

-g 取消全局文件名。

ftp使用的内部命令如下(小括号表示可选项):

1.!(cmd(args)):在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.

2.$ macro-ame(args):执行宏定义macro-name.

3.account(password):提供登录远程系统成功后访问系统资源所需的补充口令。

4.append local-file(remote-file):将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。

5.ascii:使用ascii类型传输方式。

6.bell:每个命令执行完毕后计算机响铃一次。

7.bin:使用二进制文件传输方式。

8.bye:退出ftp会话过程。

9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。

10.cd remote-dir:进入远程主机目录。

11.cdup:进入远程主机目录的父目录。

12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如: chmod 777 a.out 。

13.close:中断与远程服务器的ftp会话(与open对应)。

14.cr:使用asscii方式传输文件时,将回车换行转换为回行。

15.delete remote-file:删除远程主机文件。

16.debug(debug-value):设置调试方式,显示发送至远程主机的每条命令,如: deb up 3,若设为0,表示取消debug。

17.dir(remote-dir)(local-file):显示远程主机目录,并将结果存入本地文件local-file。

18.disconnection:同close。

19.form. format:将文件传输方式设置为format,缺省为file方式。

20.get remote-file(local-file):将远程主机的文件remote-file传至本地硬盘的local-file。

21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。

22.hash:每传输1024字节,显示一个hash符号(#)。

23.help(cmd):显示ftp内部命令cmd的帮助信息,如:help get,

24.idle(seconds):将远程服务器的休眠计时器设为(seconds)秒

25.image:设置二进制传输方式(同binary)。

26.lcd(dir):将本地工作目录切换至dir。

27.ls(remote-dir)(local-file):显示远程目录remote-dir,并存入本地文件local-file。

28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。

29.mdelete(remote-file):删除远程主机文件。

30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如: mdir *.o.*.zipoutfile 。

31.mget remote-files:传输多个远程文件。

32.mkdir dir-name:在远程主机中建一目录。

33.mls remote-file local-file:同nlist,但可指定多个文件名。

34.mode(modename):将文件传输方式设置为modename,缺省为stream方式。

35.modtime file-name:显示远程主机文件的最后修改时间。

36.mput local-file:将多个文件传输至远程主机。

37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。

38.nlist(remote-dir)(local-file):显示远程主机目录的文件清单,并存入本地硬盘的local-file。

39.nmap(inpattern outpattern):设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3($1,$2).($2,$3),则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。

40.ntrans(inchars(outchars)):设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。

41.open host(port):建立指定ftp服务器连接,可指定连接端口。

42.passive:进入被动传输方式。

43.prompt:设置多个文件传输时的交互提示。

44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。

45.put local-file(remote-file):将本地文件local-file传送至远程主机。

46.pwd:显示远程主机的当前工作目录。

47.quit:同bye,退出ftp会话。

48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.

Go语言对字符串进行SHA1哈希运算的方法

android java调用js方法怎么使用

web前端面试题

腾讯实习生笔试经验谈

腾讯实习生求职笔试面试经历

HTML前端开发面试题及前端知识

sale的用法总结

唯品会php面试题

词汇的起源之“HELLO”

java前端开发面试题

JS 正则表达式用法介绍
《JS 正则表达式用法介绍.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【JS 正则表达式用法介绍(精选16篇)】相关文章:

web前端个人简历2023-07-30

Discuz XSS得webshell脚本安全2022-05-08

ios学习之个人总结2022-05-24

php 面试题2022-06-12

前端实习生工作总结2022-05-06

初识前端网页设计2022-12-11

web前端工程师的求职信2022-10-11

电气工程师面试题2022-05-08

实训心得总结2022-04-29

fill的第三人称单数2023-12-04

点击下载本文文档