请问在javascript里怎么用正则表达式分割成Array()?

吴斯音 2006-03-28 04:27:37
请问在javascript里怎么用正则表达式分割成Array()?
我在用split分割一个字符串时,我想分割时是按多个字符分割,如按“<div>”这样的条件分割,请问
谁能举个例子。
...全文
60 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shamao 2006-04-14
  • 打赏
  • 举报
回复
var str ="aaa,bbb,ccc";
bbb = str.split(",");

for (var i=0 i<bbb.length;i++)
{
;//do something more meaningful
}
mobydick 2006-03-28
  • 打赏
  • 举报
回复
javescript不会
不过C#中只要这样写:
string regexStr = @"<div>";
string[] strArray = Regex.Split(yourStr, regexStr);

foreach(string str in strArray)
{
Console.WriteLine(str);
}
javascript的官方文档 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示该标题所包含的项目列表。再从该列表中选择要查看的主题。在打开所选主题后,就可以方便地链接到相关章节。 请尽情浏览 JScript 语言参考的各个部分,你会发现 JScript 语言有多么丰富。 特性 描述 JScript 特性(非-ECMA) JScript 目前的 ECMA 特性列表。 JScript 的特性 (ECMA) JScript 目前的非-ECMA 特性列表。 Microsoft Scripting 运行时特性 JScript 目前的 scripting 运行时特性列表。 语言元素 描述 ! 运算符 对表达式进行逻辑非运算。 != 运算符 比较两个表达式的值是否相等。 !== 运算符 比较两个表达式的值,看其值是否相等或数据类型是否一致。 0...n 属性 返回单个参数的实际值,该参数来自由当前运行函数的参数属性返回的参数对象。 $1...$9 属性 返回在模式匹配中找到的最近的九条记录。 % 运算符 两个表达式的值相除,返回余数。 %= 运算符 用变量的值除以表达式的值,余数赋给变量。 & 运算符 对两个表达式执行按位“与”运算。 &= 运算符 对变量和表达式执行按位“与”运算,结果赋给变量。 && 运算符 对两个表达式执行逻辑连接运算。 * 运算符 将两个表达式的值相乘。 *= 运算符 将变量与表达式的值相乘,结果赋给变量。 + 运算符 将两个数字表达式的值相加,或连接两个字符串。 ++ 运算符 变量值加 1。 += 运算符 将表达式的值加到变量中。 , 运算符 使两个表达式按顺序执行。 - 运算符 从一个表达式中减去另一个表达式的值,或对单个表达式取反。 -- 运算符 变量值减 1。 -= 运算符 变量值减去表达式的值,结果赋给变量。 / 运算符 两个表达式的值相除。 /*..*/ (多行注释语句) 使 JScript 语法分析器忽略多行注释。 // (单行注释语句) 使 JScript 语法分析器忽略单行注释。 /= 运算符 变量值除以表达式的值,结果赋给变量。 < 运算符 比较一个表达式的值是否小于另一个表达式。 << 运算符 将表达式向左移位。 <<= 运算符 将变量的值左移由表达式指定的位数,结果赋给变量。 <= 运算符 比较一个表达式的值是否小于等于另一个表达式。 = 运算符 为变量赋值。 == 运算符 比较两个表达式是否相等。 === 运算符 比较两个表达式,看其值是否相等或数据类型是否一致。 > 运算符 比较一个表达式的值是否大于另一个表达式。 >= 运算符 比较一个表达式的值是否大于等于另一个表达式。 >> 运算符 将表达式向左移位,符号位不变。 >>= 运算符 将变量的值右移由表达式指定的位数,符号位不变,结果赋给变量。 >>> 运算符 将表达式向左移位,包括符号位。 >>>= 运算符 将变量的值右移由表达式指定的位数,包括符号位,结果赋给变量。 ?: 运算符 根据条件执行其中一个语句。 ~ 运算符 对表达式执行按位“非”(取反)运算。 | 运算符 对两个表达式执行按位“或”运算。 |= 运算符 对变量和表达式的值执行按位“或”运算,结果赋给变量。 || 运算符 对两个表达式执行逻辑或运算。 ^ 运算符 对两个表达式执行异或运算。 ^= 运算符 对变量和表达式的值执行按位异或运算,结果赋给变量。 @cc_on 语句 激活条件编译支持。 @if 语句 根据表达式的值,有条件地执行一组语句。 @set 语句 创建用于条件编译语句的变量。 abs 方法 返回一个数的绝对值。 acos 方法 返回一个数的反余弦。 ActiveXObject 对象 启用并返回一个 Automation 对象的引用。 加法运算符 (+) 将两个数字表达式的值相加,或连接两个字符串。 anchor 方法 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点。 apply 方法 应用对象的一个方法,用当前对象代替另一对象。 arguments 属性 返回一个包含传递给当前执行函数的每个参数的数组。 Array 对象 提供对创建任何数据类型的数组的支持。 asin 方法 返回一个数的反正弦。 赋值运算符 (=) 将一个值赋给变量。 atan 方法 返回一个数的反正切。 atan2 方法 返回从 X 轴到点 (y, x)的角度(以弧度为单位)。 atEnd 方法 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。 big 方法 在String 对象的文本两端加入 HTML 的标识。 按位与运算符 (&) 对两个表达式执行按位与操作。 按位左移运算符(<<) 将一个表达式的各位向左移。 按位取非运算符 对一个表达式执行按位取非(求非)操作。 按位或运算符 (|) 对两个表达式指定按位或操作。 按位右移运算符 (>>) 将一个表达式的各位向右移,保持符号不变。 按位异或运算符(^) 对两个表达式执行按位异或操作。 blink 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 bold 方法 将 HTML 的 标识添加到String 对象中的文本两端。 Boolean 对象 创建一个新的 Boolean 值。 break 语句 终止当前循环,或者如果与一个label 语句关联,则终止相关联的语句。 call 方法 应用对象的一个方法,用当前对象代替另一对象。 callee 属性 返回正执行的函数对象,它是指定的函数对象的文本正文。 caller 属性 返回调用当前函数的函数引用。 catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 ceil 方法 返回大于或等于其数值参数的最小整数。 charAt 方法 返回位于指定索引位置的字符。 charCodeAt 方法 返回指定字符的 Unicode 编码。 逗号运算符 (,) 使两个表达式连续执行。 /*..*/ (多行注释语句) 使多行注释部分被 JScript 语法分析器忽略。 注释语句 - 单行(//) 使 JScript 语法分析器忽略单行注释。 比较运算符 返回一个显示比较结果的 Boolean 值。 compile 方法 将一个正则表达式编译为内部格式。 复合赋值运算符 复合赋值运算符列表。 concat 方法 (Array) 返回一个由两个数组合并组的新数组。 concat 方法 (String) 返回一个包含给定的两个字符串连接的String 对象。 条件(三元)运算符 (?:) 根据条件执行两个表达式之一。 constructor 属性 指定创建对象的函数。 continue 语句 停止循环的当前迭代,并开始一次新的迭代。 cos 方法 返回一个数的余弦。 Date 对象 提供日期和时间的基本存储和检索。 decodeURI 方法 返回一个已编码的通用资源标识符 (URI) 的解码版。 decodeURIComponent 方法 返回一个已编码的通用资源标识符 (URI) 组件的解码版。 递减运算符(--) 将变量减一。 delete 运算符 删除对象的属性,或删除数组中的一个元素。 description 属性 返回或设置关于指定错误的描述字符串。 Dictionary 对象 存储数据键、项目对的对象。 dimensions 方法 返回 VBArray 的维数。 除法运算符 (/) 对两个表达式执行除法运算。 do...while 语句 先执行一次语句块,然后重复执行该循环,直至条件表达式的值为 false。 E 属性 返回 Euler 常数,即自然对数的底。 encodeURI 方法 将文本字符串编码为合法的通用资源标识符 (URI)。 encodeURIComponent 方法 将文本字符串编码为合法的通用资源标识符 (URI)组件。 Enumerator 对象 提供集合中的项的枚举。 相等运算符(==) 比较两个表达式,看是否相等。 Error 对象 包含在运行 JScript 代码时发生错误信息的对象。 escape 方法 对 String 对象编码,以便在所有计算机上都能阅读。 eval 方法 对 JScript 代码求值然后执行。 exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 FileSystemObject 对象 提供对计算机文件系统的访问。 fixed 方法 将 HTML 的 标识添加到String 对象中的文本两端。 floor 方法 返回小于或等于其数值参数的最大整数。 fontcolor 方法 将 HTML 带 COLOR 属性的 标识添加到 String 对象中的文本两端。 fontsize 方法 将 HTML 带 SIZE 属性的 标识添加到 String 对象中的文本两端。 for 语句 只要指定的条件为 true,就一直执行语句块。 for...in 语句t 对应于对象或数组中的每个元素执行一个或多个语句。 fromCharCode 方法 返回 Unicode 字符值的字符串。 Function 对象 创建一个新的函数。 function 语句 声明一个新的函数。 getDate 方法 使用当地时间返回 Date 对象的月份日期值。 getDay 方法 使用当地时间返回 Date 对象的星期几。 getFullYear 方法 使用当地时间返回 Date 对象的年份。 getHours 方法 使用当地时间返回 Date 对象的小时值。 getItem 方法 返回指定位置的项。 getMilliseconds 方法 使用当地时间返回 Date 对象的毫秒值。 getMinutes 方法 使用当地时间返回 Date 对象的分钟值。 getMonth 方法 使用当地时间返回 Date 对象的月份。 GetObject 函数 返回文件中的 Automation 对象的引用。 getSeconds 方法 使用当地时间返回 Date 对象的秒数。 getTime 方法 返回 Date 对象中的时间值。 getTimezoneOffset 方法 返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)。 getUTCDate 方法 使用全球标准时间(UTC)返回 Date 对象的日期值。 getUTCDay 方法 使用全球标准时间(UTC)返回 Date 对象的星期几的值。 getUTCFullYear 方法 使用全球标准时间(UTC)返回 Date 对象的年份。 getUTCHours 方法 使用全球标准时间(UTC)返回Date 对象的小时数。 getUTCMilliseconds 方法 使用全球标准时间(UTC)返回Date 对象的毫秒数。 getUTCMinutes 方法 使用全球标准时间(UTC)返回 Date 对象的分钟数。 getUTCMonth 方法 使用全球标准时间(UTC)返回 Date 对象的月份值。 getUTCSeconds 方法 使用全球标准时间 (UTC) 返回 Date 对象的秒数。 getVarDate 方法 返回 Date 对象中的 VT_DATE。 getYear 方法 返回 Date 对象中的年份。 Global 对象 是一个固有对象,目的是将全局方法集中在一个对象中。 global 属性 返回一个 Boolean 值,标记正则表达式使用的 global 标志状态 (g)。 大于运算符(>) 比较两个表达式,看一个是否大于另一个。 大于相等运算符(>=) 比较两个表达式,看一个是否大于等于另一个。 hasOwnProperty 方法 返回一个 Boolean 值,标记对象是否带有指定名称的属性。 恒等运算符 (===) 比较两个表达式,看是否值相等并具有相同的数据类型。 if...else 语句 根据表达式的值,有条件地执行一组语句。 ignoreCase 属性 返回一个 Boolean 值,标记正则表达式使用的 ignoreCase 标志状态 (i)。 递增运算符(++) 给变量加一。 index 属性 返回在字符串中找到的第一个功匹配的字符位置。 indexOf 方法 返回在 String 对象中第一次出现子字符串的字符位置。 不相等运算符 (!=) 比较两个表达式,看是否不相等。 Infinity 属性 返回 Number.POSITIVE_INFINITY 的初始值。 input 属性 返回进行查找的字符串。 instanceof 运算符 返回一个 Boolean 值,表明某个对象是否为特定类的一个实例。 isFinite 方法 返回一个 Boolean 值,表明某个给定的数是否是有穷的。 isNaN 方法 返回一个 Boolean 值,表明某个值是否为保留值 NaN(不是一个数)。 isPrototypeOf 方法 返回一个 Boolean 值,表明对象是否存在与另一对象的原型链中。 italics 方法 将 HTML的 标识添加到 String 对象中的文本两端。 item 方法 返回集合中的当前项。 join 方法 返回一个由数组中的所有元素连接在一起的 String 对象。 Labeled 语句 给语句提供一个标识符。 lastIndex 属性 返回在字符串中找到的最后一个功匹配的字符位置。 lastIndexOf 方法 返回在 String 对象中最后出现子字符串的位置。 lastMatch 属性 ($) 从任何正则表达式搜索中返回最后匹配的字符。 lastParen 属性 ($+) 从任意一个正则表达式搜索中返回最后的由括号括起的子匹配(若存在的话)。 lbound 方法 返回在 VBArray 中指定维数所用的最小索引值。 leftContext 属性 ($`) 返回由调用者传递给函数的实际参数个数。 length 属性 (Arguments) 返回由调用者传递给函数的实际参数个数。 length 属性 (Array) 返回比数组中所定义的最高元素大 1 的整数值 。 length 属性 (Function) 返回为函数所定义的参数个数。 length 属性 (String) 返回 String 对象的长度。 小于运算符 (<) 比较两个表达式,看是否一个小于另一个。 小于相等运算符 (<=) 比较两个表达式,看是否一个小于等于另一个。 link 方法 将带 HREF 属性的 HTML 锚点添加到 String 对象中的文本两端。 LN2 属性 返回 2 的自然对数。 LN10 属性 返回 10 的自然对数。 localeCompare 方法 返回值表明在当前区域设置下,两个字符串是否相等。 log 方法 返回某个数的自然对数。 LOG2E 属性 返回以 2 为底的 e(即 Euler 常数)的对数。 LOG10E 属性 返回以 10 为底的e(即 Euler 常数)的对数。 逻辑与运算符 (&&) 对两个表达式执行逻辑与操作。 逻辑非运算符(!) 对表达式执行逻辑非操作。 逻辑或运算符 (||) 对两个表达式执行逻辑或操作。 match 方法 使用给定的正则表达式对象对字符串进行查找,并将结果作为数组返回。 Math 对象 一个固有对象,提供基本的数学函数和常数。 max 方法 返回给定的两个表达式中的较大者。 MAX_VALUE 属性 返回在 JScript中能表示的最大值。 message 属性 min 方法 返回给定的两个数中的较小者。 MIN_VALUE 属性 返回在 JScript中能表示的最接近零的值。 取模运算符 (%) 对两个表达式执行除法运算,返回余数。 moveFirst 方法 将集合中的当前项设置为第一项。 moveNext 方法 将当前项设置为集合中的下一项。 multiline 属性 返回 Boolean 值,表明正则表达式使用的 multiline 标志 (m)。 乘法运算符 (*) 对两个表达式执行减法操作。 name 属性 返回错误名称。 NaN 属性 (Global) 返回特殊值 NaN,表示某个表达式不是一个数。 NaN 属性 (Number) 返回特殊值 (NaN),表示某个表达式不是一个数。 NEGATIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的负数 (Number.MAX_VALUE)更小的值。 new 运算符 创建一个新对象。 不恒等运算符 (!==) 比较两个表达式,看是否具有不相等的值或数据类型不同。 Number 对象 表示数值数据类型和提供数值常数的对象。 number 属性 返回或设置与特定错误关联的数值。 Object 对象 提供所有的 JScript 对象的公共功能。 运算符优先级 包含 JScript 运算符的执行优先级信息的列表。 parse 方法 对包含日期的字符串进行分析,并返回该日期与1970年1月1日零点之间相差的毫秒数。 parseFloat 方法 返回从字符串转换而来的浮点数。 parseInt 方法 返回从字符串转换而来的整数。 PI 属性 返回圆周与其直径的比值,约等于3.141592653589793。 pop 方法 将数组中的最后一个元素删除,并返回其值。 POSITIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的数 (-Number.MAX_VALUE)更大的值。 pow 方法 返回一个指定幂次的底表达式的值。 propertyIsEnumerable 属性 返回一个 Boolean 值,表明指定的属性是否是对象的一部分或是否是可枚举的。 prototype 属性 返回对象类的原型引用。 push 方法 向数组中添加新的元素,返回新的数组长度。 random 方法 返回一个 0 和 1 之间的伪随机数。 RegExp 对象 存储有关正则表达式模式查找的信息。 正则表达式对象 包含一个正则表达式模式。 正则表达式语法 在写正则表达式模式时可以使用的特殊字符和序列的列表。 replace 方法 返回根据正则表达式进行文字替换后的字符串的拷贝。 return 语句 从当前函数退出并从该函数返回一个值。 reverse 方法 返回一个元素反序的 Array 对象。 rightContext 属性 ($') 返回被搜索字符串从最后匹配位置到结束之间的字符。 round 方法 将一个指定的数值表达式舍入到最近的整数值。 运行时错误 JScript运行时错误列表 ScriptEngine 函数 返回一个代表所使用的脚本语言的字符串。 ScriptEngineBuildVersion 函数 返回所使用的脚本引擎的编译版本号。 ScriptEngineMajorVersion 函数 返回所使用的脚本引擎的主版本号。 ScriptEngineMinorVersion 函数 返回所使用的脚本引擎的次版本号。 search 方法 返回与正则表达式查找内容匹配的第一个子字符串的位置。 setDate 方法 使用当地时间设置 Date 对象的数值日期。 setFullYear 方法 使用当地时间设置 Date 对象的年份。 setHours 方法 使用当地时间设置 Date对象的小时值。 setMilliseconds 方法 使用当地时间设置 Date 对象的毫秒值。 setMinutes 方法 使用当地时间设置 Date 对象的分钟值。 setMonth 方法 使用当地时间设置 Date 对象的月份。 setSeconds 方法 使用当地时间设置 Date 对象的秒值。 setTime 方法 设置 Date 对象的日期和时间。 setUTCDate 方法 使用全球标准时间(UTC)设置 Date对象的数值日期。 setUTCFullYear 方法 使用全球标准时间(UTC)设置 Date 对象的年份。 setUTCHours 方法 使用全球标准时间(UTC)设置 Date 对象的小时值。 setUTCMilliseconds 方法 使用全球标准时间(UTC)设置 Date 对象的毫秒值。 setUTCMinutes 方法 使用全球标准时间(UTC)设置 Date 对象的分钟值。 setUTCMonth 方法 使用全球标准时间(UTC)设置 Date 对象的月份。 setUTCSeconds 方法 使用全球标准时间(UTC)设置 Date 对象的秒值。 setYear 方法 使用 Date 对象的年份。 shift 方法 删除数组中的第一个元素并返回该值。 sin 方法 返回一个数的正弦。 slice 方法 (Array) 返回数组的一个片段。 slice 方法 (String) 返回字符串的一个片段。 small 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 sort 方法 返回一个元素被排序了的 Array 对象。 source 属性 返回正则表达式模式的文本的复制。 splice 方法 从数组中删除一个元素,必要时在该位置插入一个新元素,返回被删除的元素。 split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 sqrt 方法 返回一个数的平方根。 SQRT1_2 属性 返回 0.5 的平方根,即 1 除以 2 的平方根。 SQRT2 属性 返回 2 的平方根。 strike 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 String 对象 提供对文本字符串的操作和格式处理,判定在字符串中是否存在某个子字符串并确定其位置。 sub 方法 将 HTML 的 标识放置到 String 对象中的文本两端。 substr 方法 返回一个从指定位置开始并具有指定长度的子字符串。 substring 方法 返回位于 String 对象中指定位置的子字符串。 一元取相反数运算符(-) 从一个表达式的值中减去另一个表达式的值。 sup 方法 将 HTML 的 标识放置到 String 对象中的文本两端。 switch 语句 当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。 Syntax 错误 JScript 语法错误列表。 tan 方法 返回一个数的正切。 test 方法 返回一个 Boolean 值,表明在被查找的字符串中是否存在某个模式。 this 语句 对当前对象的引用。 throw 语句 产生一个可由 try...catch 语句处理的错误条件。 toArray 方法 返回一个从 VBArray 转换而来的标准 JScript 数组。 toDateString 方法 以字符串形式返回日期值。 toExponential 方法 返回一个用指数形式表示的字符串。 toFixed 方法 返回一个字符串,表示一个用不动点记法表示的数字。 toGMTString 方法 返回一个转换为使用格林威治标准时间(GMT)的日期。 toLocaleDateString 方法 返回一个与主机环境的当前区域设置相适应的字符串形式的日期。 toLocaleLowercase 方法 返回字符串,其中的所有字符都被转换小写(考虑主机环境的当前设置)。 toLocaleString 方法 返回一个转换为使用当地时间的日期。 toLocaleTimeString 方法 返回一个与主机环境的当前区域设置相适应的字符串形式的时间。 toLocaleUppercase 方法 返回字符串,其中的所有字符都被转换大写(考虑主机环境的当前设置)。 toLowerCase 方法 返回一个字符串,该字符串中所有字母被转换为小写字母。 toString 方法 返回一个对象的字符串表示。 toPrecision 方法 返回一个字符串,该字符串包含用指定位数的指数或 fixed-point 形式表示的数字。 toTimeString 方法 返回以字符串形式表示的时间。 toUpperCase 方法 返回一个字符串,该字符串中所有字母都被转换为大写字母。 toUTCString 方法 返回一个转换为使用全球标准时间(UTC)的日期。 try 语句 实现 JScript 的错误处理。 typeof 运算符 返回一个表示表达式的数据类型的字符串。 ubound 方法 返回在 VBArray 的指定维中所使用的最大索引值。 一元取负运算符 (-) 表示一个数值表达式的相反数。 undefined 属性 返回 undefined 的初始值。 unescape 方法 对用escape 方法编码的 String 对象进行解码。 unshift 方法 返回一个数组,在该数组头部插入了指定的元素。 无符号右移运算符 (>>>) 将表达式向右移位,包括符号位。 UTC 方法 返回 1970年1月1日零点的全球标准时间 (UTC)(或 GMT)与指定日期之间的毫秒数。 valueOf 方法 返回指定对象的原始值。 var 语句 声明一个变量。 VBArray 对象 提供对 Visual Basic 安全数组的访问。 void 运算符 避免一个表达式返回值。 while 语句 执行语句直至给定的条件为 false。 with 语句 确定一个语句的默认对象。 语言元素 描述 GetObject 函数 返回文件中的 Automation 对象的引用。 ScriptEngine 函数 返回代表所使用的脚本语言的字符串。 ScriptEngineBuildVersion 函数 返回所使用的脚本引擎的编译版本号。 ScriptEngineMajorVersion 函数 返回所使用的脚本引擎的主版本号。 ScriptEngineMinorVersion 函数 返回所使用的脚本引擎的次版本号。 语言元素 描述 abs 方法 返回一个数的绝对值。 acos 方法 返回一个数的反余弦。 anchor 方法 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点。 apply 方法 应用对象的一个方法,用当前对象代替另一对象。 asin 方法 返回一个数的反正弦。 atan 方法 返回一个数的反正切。 atan2 方法 返回从 X 轴到点 (y, x)的角度(以弧度为单位)。 atEnd 方法 返回一个表明枚举算子是否处于集合结束处的 Boolean 值。 big 方法 在String 对象的文本两端加入 HTML 的标识。 blink 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 bold 方法 将 HTML 的 标识添加到String 对象中的文本两端。 call 方法 应用对象的一个方法,用当前对象代替另一对象。 ceil 方法 返回大于或等于其数值参数的最小整数。 charAt 方法 返回位于指定索引位置的字符。 charCodeAt 方法 返回指定字符的 Unicode 编码。 compile 方法 将一个正则表达式编译为内部格式。 concat 方法(Array) 返回一个由两个数组合并组的新数组。 concat 方法(String) 返回一个包含给定的两个字符串的连接的 String 对象。 cos 方法 返回一个数的余弦。 decodeURI 方法 返回一个已编码的通用资源标识符 (URI) 的解码版。 decodeURIComponent 方法 返回一个已编码的通用资源标识符 (URI) 的解码版。 dimensions 方法 返回 VBArray 的维数。 escape 方法 对 String 对象编码,以便在所有计算机上都能阅读。 eval 方法 对 JScript 代码求值然后执行之。 exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 fixed 方法 将 HTML 的 标识添加到String 对象中的文本两端。 floor 方法 返回小于或等于其数值参数的最大整数。 fontcolor 方法 将 HTML 带 COLOR 属性的标识添加到 String 对象中的文本两端。 fontsize 方法 将 HTML 带 SIZE 属性的标识添加到 String 对象中的文本两端。 fromCharCode 方法 返回 Unicode 字符值的字符串。 getDate 方法 使用当地时间返回 Date 对象的月份日期值。 getDay 方法 使用当地时间返回 Date 对象的星期几。 getFullYear 方法 使用当地时间返回 Date 对象的年份。 getHours 方法 使用当地时间返回 Date 对象的小时值。 getItem 方法 返回位于指定位置的项。 getMilliseconds 方法 使用当地时间返回 Date 对象的毫秒值。 getMinutes 方法 使用当地时间返回 Date 对象的分钟值。 getMonth 方法 使用当地时间返回 Date 对象的月份。 getSeconds 方法 使用当地时间返回 Date 对象的秒数。 getTime 方法 返回 Date 对象中的时间。 getTimezoneOffset 方法 返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)。 getUTCDate 方法 使用全球标准时间(UTC)返回 Date 对象的日期值。 getUTCDay 方法 使用全球标准时间(UTC)返回 Date 对象的星期几。 getUTCFullYear 方法 使用全球标准时间(UTC)返回 Date 对象的年份。 getUTCHours 方法 使用全球标准时间(UTC)返回Date 对象的小时数。 getUTCMilliseconds 方法 使用全球标准时间(UTC)返回Date 对象的毫秒数。 getUTCMinutes 方法 使用全球标准时间(UTC)返回 Date 对象的分钟数。 getUTCMonth 方法 使用全球标准时间(UTC)返回 Date 对象的月份值。 getUTCSeconds 方法 使用全球标准时间(UTC)返回Date对象的秒数。 getVarDate 方法 返回 Date 对象中的 VT_DATE。 getYear 方法 返回 Date 对象中的年份。 hasOwnProperty 方法 返回一个 Boolean 值,表明对象是否具有指定的名称。 indexOf 方法 返回在 String 对象中第一次出现子字符串的字符位置。 isFinite 方法 返回一个 Boolean 值,表明某个给定的数是否是有穷的。 isNaN 方法 返回一个 Boolean 值,表明某个值是否为保留值 NaN (不是一个数)。 isPrototypeOf 方法 返回一个 Boolean 值,表明对象是否存在于另一对象的原型链中。 italics 方法 将 HTML的 标识添加到 String 对象中的文本两端。 item 方法 返回集合中的当前项。 join 方法 返回一个由数组中的所有元素连接在一起的 String 对象。 lastIndexOf 方法 返回在 String 对象中子字符串最后出现的位置。 lbound 方法 返回在 VBArray 中指定维数所用的最小索引值。 link 方法 将带 HREF 属性的 HTML 锚点添加到 String 对象中的文本两端。 localeCompare 方法 返回一个值,表明两个字符串在当前区域设置下是否相等。 log 方法 返回某个数的自然对数。 match 方法 使用给定的正则表达式对象对字符串进行查找,并将结果作为数组返回。 max 方法 返回给定的两个表达式中的较大者。 min 方法 返回给定的两个数中的较小者。 moveFirst 方法 将集合中的当前项设置为第一项。 moveNext 方法 将当前项设置为集合中的下一项。 parse 方法 对包含日期的字符串进行分析,并返回该日期与1970年1月1日零点之间相差的毫秒数。 parseFloat 方法 返回从字符串转换而来的浮点数。 parseInt 方法 返回从字符串转换而来的整数。 pop 方法 删除数组中的最后一个元素并返回该值。 pow 方法 返回一个指定幂次的底表达式的值。 push 方法 向数组中添加新元素,返回数组的新长度。 random 方法 返回一个 0 和 1 之间的伪随机数。 replace 方法 返回根据正则表达式进行文字替换后的字符串的拷贝。 reverse 方法 返回一个元素反序的 Array 对象。 round 方法 将一个指定的数值表达式舍入到最近的整数并将其返回。 search 方法 返回与正则表达式查找内容匹配的第一个子字符串的位置。 setDate 方法 使用当地时间设置 Date 对象的数值日期。 setFullYear 方法 使用当地时间设置 Date 对象的年份。 setHours 方法 使用当地时间设置 Date 对象的小时值。 setMilliseconds 方法 使用当地时间设置 Date 对象的毫秒值。 setMinutes 方法 使用当地时间设置 Date 对象的分钟值。 setMonth 方法 使用当地时间设置 Date 对象的月份。 setSeconds 方法 使用当地时间设置 Date 对象的秒值。 setTime 方法 设置 Date 对象的日期和时间。 setUTCDate 方法 使用全球标准时间(UTC)设置 Date 对象的数值日期。 setUTCFullYear 方法 使用全球标准时间(UTC)设置 Date 对象的年份。 setUTCHours 方法 使用全球标准时间(UTC)设置 Date 对象的小时值。 setUTCMilliseconds 方法 使用全球标准时间(UTC)设置 Date 对象的毫秒值。 setUTCMinutes 方法 使用全球标准时间(UTC)设置 Date 对象的分钟值。 setUTCMonth 方法 使用全球标准时间(UTC)设置 Date 对象的月份。 setUTCSeconds 方法 使用全球标准时间(UTC)设置 Date 对象的秒值。 setYear 方法 使用 Date 对象的年份。 shift 方法 删除数组中的第一个元素并返回该值。 sin 方法 返回一个数的正弦。 slice 方法 (Array) 返回数组的一个片段。 slice 方法 (String) 返回字符串的一个片段。 small 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 sort 方法 返回一个元素被排序了的 Array 对象。 splice 方法 从数组中删除元素,若必要,在相应位置处插入新元素,返回被删除的元素。 split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 sqrt 方法 返回一个数的平方根。 strike 方法 将 HTML 的 标识添加到String 对象中的文本两端。 sub 方法 将 HTML 的 标识放置到 String 对象中的文本两端。 substr 方法 返回一个从指定位置开始并具有指定长度的子字符串。 substring 方法 返回位于 String 对象中指定位置的子字符串。 sup 方法 将 HTML 的 标识放置到 String 对象中的文本两端。 tan 方法 返回一个数的正切。 test 方法 返回一个 Boolean 值,表明在被查找的字符串中是否存在某个模式。 toArray 方法 返回一个从 VBArray 转换而来的标准 JScript 数组。 toDateString 方法 返回以字符串形式表示的日期。 toExponential 方法 返回一个字符串,该字符串包含一个以指数形式表示的数字。 toFixed 方法 返回一个字符串,表明一个用 fixed-point 形式表示的数字。 toGMTString 方法 返回一个转换为使用格林威治标准时间(GMT)的字符串的日期。 toLocaleDateString 方法 返回一个以字符串形式表示的日期,该日期与主机环境的当前区域设置相适应。 toLocaleLowercase 方法 返回一个字符串,其中所有的字母字符都被转换小写(考虑主机环境的当前区域设置)。 toLocaleTimeString 方法 返回一个以字符串形式表示的时间,该时间与主机环境当前区域设置相适应。 toLocaleString 方法 返回一个转换为使用当地时间的字符串的日期。 toLocaleUppercase 方法 返回一个字符串,其中所有的字母字符都被转换大写(考虑主机环境的当前区域设置)。 toLowerCase 方法 返回一个所有的字母字符都被转换为小写字母的字符串。 toPrecision 方法 返回一个字符串,该字符串包含用指定位数的指数或 fixed-point 形式表示的数字。 toString 方法 返回一个对象的字符串表示。 toTimeString 方法 返回一个以字符串形式表示的时间。 toUpperCase 方法 返回一个所有的字母字符都被转换为大写字母的字符串。 toUTCString 方法 返回一个转换为使用全球标准时间(UTC)的字符串的日期。 ubound 方法 返回在 VBArray 的指定维中所使用的最大索引值。 unescape 方法 对用escape 方法编码的 String 对象进行解码。 unshift 方法 返回一个数组,在该数组头部插入了指定的元素。 UTC 方法 返回 1970年1月1日零点的全球标准时间 (UTC) (或 GMT)与指定日期之间的毫秒数. valueOf 方法 返回指定对象的原始值。 语言元素 描述 ActiveXObject 对象 启用并返回一个 Automation 对象的引用。 Array 对象 提供对创建任何数据类型的数组的支持。 Boolean 对象 创建一个新的 Boolean 值。 Date 对象 提供日期和时间的基本存储和检索。 Dictionary 对象 存储数据键、项对的对象。 Enumerator 对象 提供集合中的项的枚举。 Error 对象 包含在运行 JScript 代码时发生的错误的有关信息。 FileSystemObject 对象 提供对计算机文件系统的访问。 Function 对象 创建一个新的函数。 Global 对象 是一个内部对象,目的是将全局方法集中在一个对象中。 Math 对象 一个内部对象,提供基本的数学函数和常数。 Number 对象 表示数值数据类型和提供数值常数的对象。 Object 对象 提供所有的 JScript 对象的公共功能。 RegExp 对象 存储有关正则表达式模式查找的信息。 正则表达式对象 包含一个正则表达式模式。 String 对象 提供对文本字符串的操作和格式处理,判定在字符串中是否存在某个子字符串及确定其位置。 VBArray 对象 提供对 Visual Basic 安全数组的访问。 语言元素 描述 ! 运算符 对表达式执行逻辑“非”运算。 != 运算符 比较两个表达式的值,看其是否相等。 !== 运算符 比较两个表达式的值,看其是否不相等或数据类型不一致。 % 运算符 对两个表达式执行除法运算,返回余数。 %= 运算符 对变量和表达式执行除法运算,余数赋给变量。 & 运算符 对两个表达式执行按位“与”运算。 &= 运算符 对变量和表达式执行按位“与”运算,结果赋给变量。 && 运算符 对两个表达式执行逻辑连接运算。 * 运算符 对两个表达式执行乘法运算。 *= 运算符 对变量和表达式执行乘法运算,结果赋给变量。 + 运算符 对两个数值表达式求和,或连接两个字符串。 ++ 运算符 变量值加一。 += 运算符 将变量和表达式的值相加,结果赋给变量。 , 运算符 使两个表达式按顺序执行。 - 运算符 从一个表达式的值减去另一个表达式的值或对一个表达式执行取负运算。 -- 运算符 变量值减一。 -= 运算符 从变量值中减表达式的值,结果赋给变量。 / 运算符 对两个表达式执行除法运算。 /= 运算符 对变量和表达式执行除法运算,结果赋给变量。 < 运算符 比较一个表达式是否小于另一个表达式。 << 运算符 将表达式向左移位。 <<= 运算符 将变量的值左移由表达式指定的位数,结果赋给变量。 <= 运算符 比较一个表达式的值是否小于等于另一个表达式的值。 = 运算符 为变量赋值。 == 运算符 比较两个表达式是否相等。 === 运算符 比较两个表达式,看其值是否相等或数据类型是否一致。 > 运算符 比较一个表达式的值是否大于另一表达式。 >= 运算符 比较一个表达式的值是否大于等于另一表达式。 >> 运算符 表达式向右移位,符号位不变。 >>= 运算符 将变量的值左移由表达式指定的位数,符号位不变,结果赋给变量。 >>> 运算符 表达式向右移位,包括符号位。 >>>= 运算符 将变量的值左移由表达式指定的位数,包括符号位,结果赋给变量。 ?: 运算符 根据条件执行其中一个语句。 ~ 运算符 对表达式执行按位“非”(取反)运算。 | 运算符 对两个表达式执行按位“或”运算。 |= 运算符 对变量和表达式的值执行按位“或”运算,结果赋给变量。 || 运算符 对两个表达式执行逻辑或运算。 ^ 运算符 对两个表达式执行按位异或运算。 ^= 运算符 对变量和表达式的值执行按位异或运算,结果赋给变量。 加法运算符 (+) 求两个数值表达式的和,或连接两个字符串。 赋值运算符 (=) 将一个值赋给变量。 按位与运算符 (&) 对两个表达式执行按位与操作。 按位左移运算符(<<) 将一个表达式的各位向左移。 按位取非运算符 (~) 对一个表达式执行按位取非(求非)操作。 按位或运算符 (|) 对两个表达式指定按位或操作。 按位右移运算符 (>>) 将一个表达式的各位向右移,保持符号不变。 按位异或运算符 (^) 对两个表达式执行按位异或操作。 逗号运算符 (,) 使两个表达式连续执行。 比较运算符 返回 Boolean 值,表示比较结果。 复合赋值运算符 复合赋值运算符列表。 条件(三元)运算符(?:) 根据条件执行两个表达式之一。 递减运算符 (--) 将变量减一。 delete 运算符 删除对象的属性,或删除数组中的一个元素。. 除法运算符(/) 对两个表达式执行除法运算。 相等运算符(==) 比较两个表达式,看是否相等。 大于运算符(>) 比较两个表达式,看一个是否大于另一个。 大于相等运算符 (>=) 比较两个表达式,看一个是否大于等于另一个。 恒等运算符 (===) 比较两个表达式,看是否值相等并具有相同的数据类型。 递增运算符(++) 给变量加一。 不相等运算符 (!=) 比较两个表达式,看是否不相等。 instanceof 运算符 返回一个 Boolean 值,表明某个对象是否为特定类的一个实例。 小于运算符(<) 比较两个表达式,看是否一个小于另一个。 小于相等运算符 (<=) 比较两个表达式,看是否一个小于等于另一个。 逻辑与运算符 (&&) 对两个表达式执行逻辑与操作。 逻辑非运算符 (!) 对表达式执行逻辑非操作。 逻辑或运算符 (||) 对两个表达式执行逻辑或操作。 取模运算符。 (%) 对两个表达式执行除法运算,返回余数。 乘法运算符 (*) 对两个表达式执行减法操作。 new 运算符 创建一个新对象。 不恒等运算符 (!==) 比较两个表达式,看是否具有不相等的值或数据类型不同。 运算符优先级 包含 JScript 运算符的执行优先级信息的列表。 减法运算符 (-) 求两个表达式值的差。 typeof 运算符 返回一个表示表达式的数据类型的字符串。 一元取相反数运算符(-) 表示一个数值表达式的相反数。 无符号右移运算符 (>>>) 表达式向右移位,包括符号位。 void 运算符 避免一个表达式返回值。 语言元素 描述 0...n 属性 返回单个参数的实际值,该参数来自由当前运行函数的参数属性返回的参数对象。 $1...$9 属性 返回在模式匹配中找到的最近的九条记录 arguments 属性 返回一个包含传递给当前执行函数的每个参数的数组。 caller 属性 返回调用当前函数的函数引用。 callee 属性 返回正执行的函数对象,它是指定的函数对象的文本正文。 constructor 属性 指定创建对象的函数。 description 属性 返回或设置关于指定错误的描述字符串。 E 属性 返回 Euler 常数,即自然对数的底。 global 属性 返回一个 Boolean 值,表明正则表达式使用的 global 标志 (g) 状态。 ignoreCase 属性 返回一个 Boolean 值,表明正则表达式使用的 ignoreCase 标志 (i) 状态。 index 属性 返回在字符串中找到的第一个功匹配的字符位置。 Infinity 属性 返回 Number.POSITIVE_INFINITY 的初始值。 input 属性 返回进行查找的字符串。 lastIndex 属性 返回在字符串中找到的最后一个功匹配的字符位置。 lastMatch 属性 ($) 返回任意正则表达式搜索中最后匹配的字符。 lastParen 属性 ($+) 从任意一个正则表达式搜索中返回最后的由括号括起的子匹配(若存在的话)。 leftContext 属性 ($`) 返回由调用者传递给函数的实际参数个数。 length 属性 (Arguments) 返回由调用者传递给函数的实际参数个数。 length 属性 (Array) 返回比数组中所定义的最高元素大 1 的一个整数。 length 属性 (Function) 返回为函数所定义的参数个数。 length 属性 (String) 返回 String 对象的长度。 LN2 属性 返回 2 的自然对数。 LN10 属性 返回 10 的自然对数。 LOG2E 属性 返回以 2 为底的 e(即 Euler常数)的对数。 LOG10E 属性 返回以 10 为底的e(即 Euler常数)的对数。 MAX_VALUE 属性 返回在 JScript中能表示的最大值。 message 属性 返回错误消息串。 MIN_VALUE 属性 返回在 JScript中能表示的最接近零的值。 multiline 属性 返回一个 Boolean 值,表明正则表达式使用的 multiline 标志 (m) 状态。 name 属性 返回错误名称。 NaN 属性(Global) 返回特殊值 NaN,表示某个表达式不是一个数。 NaN 属性 (Number) 返回特殊值 (NaN),表示某个表达式不是一个数。 NEGATIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的负数 (-Number.MAX_VALUE)更负的值。 number 属性 返回或设置与特定错误关联的数值。 PI 属性 返回圆周与其直径的比值,约等于3.141592653589793。 POSITIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的数 (Number.MAX_VALUE)更大的值。 propertyIsEnumerable 属性 返回一个 Boolean 值,表明指定的属性是否是对象的一部分或是否是可枚举的。 prototype 属性 返回对象类的原型引用。 source 属性 返回正则表达式模式的文本的拷贝。 rightContext 属性 ($') 返回被搜索字符串从最后匹配位置到结束之间的字符。 SQRT1_2 属性 返回 0.5 的平方根,即 1 除以 2 的平方根。 SQRT2 属性 返回 2 的平方根。 undefined 属性 返回 undefined 的初始值。 语言元素 描述 break 语句 终止当前循环,或者如果与一个label 语句关联,则终止相关联的语句。 catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 @cc_on 语句 激活条件编译支持。 //(单行注释语句) 使单行注释被 JScript 语法分析器忽略。 /*..*/(多行注释语句) 使多行注释被 JScript 语法分析器忽略。 continue 语句 停止循环的当前迭代,并开始一次新的迭代。 do...while 语句 先执行一次语句块,然后重复执行该循环,直至条件表达式的值为 false。 for 语句 只要指定的条件为 true,就一直执行语句块。 for...in 语句 对应于对象或数组中的每个元素执行一个或多个语句。 function 语句 声明一个新的函数。 @if 语句 根据表达式的值,有条件地执行一组语句。 if...else 语句 根据表达式的值,有条件地执行一组语句。 Labeled 语句 给语句提供一个标识符。 return 语句 从当前函数退出并从该函数返回一个值。 @set 语句 创建用于条件编译语句的变量。 switch 语句 当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。 this 语句 对当前对象的引用。 throw 语句 产生一个可由 try...catch 语句处理的错误条件。 try 语句 实现 JScript 的错误处理。 var 语句 声明一个变量。 while 语句 执行语句直至给定的条件为 false。 with 语句 确定一个语句的默认对象。 语言元素 描述 运行时错误 JScript运行时错误列表 语法错误 JScript语法错误列表
"^The": 匹配以 "The"开头的字符串; "of despair$": 匹配以 "of despair" 结尾的字符串; "^abc$": 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配 "notice": 匹配包含notice的字符串 你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边 这还有几个字符 '*', '+',和 '?', 他们用来表示一个字符可以出现的次数或者顺序. 他们分别表示:"zero or more", "one or more", and "zero or one." 这是一些例子: "ab*": 匹配字符串a和0个或者更多b组的字符串("a", "ab", "abbb", etc.); "ab+": 和上面一样,但最少有一个b ("ab", "abbb", etc.); "ab?":匹配0个或者一个b; "a?b+$": 匹配以一个或者0个a再加上一个以上的b结尾的字符串. 你也可以在大括号面限制字符出现的个数,比如 "ab{2}": 匹配一个a后面跟两个b(一个也不能少)("abb"); "ab{2,}": 最少更两个b("abb", "abbbb", etc.); "ab{3,5}": 2-5个b("abbb", "abbbb", or "abbbbb"). 你还要注意到你必须总是指定 (i.e, "{0,2}", not "{,2}").同样,你必须注意到, '*', '+', 和'?' 分别和一下三个范围标注是一样的,"{0,}", "{1,}", 和 "{0,1}"。 现在把一定数量的字符放到小括号,比如: "a(bc)*": 匹配 a 后面跟0个或者一个"bc"; "a(bc){1,5}": 一个到5个 "bc." 还有一个字符 '│', 相当于OR 操作: "hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串; "(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串; "(a│b)*c": 匹配含有这样 - 多个(包括0个)a或b,后面跟一个c 的字符串 的字符串; 一个点('.')可以代表所有的 单一字符: "a.[0-9]": 一个a跟一个字符再跟一个数字的 (含有这样一个字符串的字符串将被匹配,以后省略此括号) "^.{3}$": 以三个字符结尾 . 中括号括住的内容只匹配一个 单一的字符 "[ab]": 匹配单个的 a 或者 b ( 和 "a│b" 一样); "[a-d]": 匹配'a' 到'd'的单个字符 (和"a│b│c│d" 还有 "[abcd]"效果一样); "^[a-zA-Z]": 匹配以字母开头的字符串 "[0-9]%": 匹配含有 形如 x% 的字符串 ",[a-zA-Z0-9]$": 匹配以逗号在加一个数字或字母结尾的字符串 你也可以把你不想要得字符列在中括号,你只需要在总括号面使用'^' 作为开头 (i.e., "%[^a-zA-Z]%" 匹配含有 两个百分号面有一个非字母 的字符串). 为了能够解释,但"^.[$()│*+?{\"作为有特殊意义的字符的时候,你必须在这些字符面前加'', 还有在php3中你应该避免在模式的最前面使用\, 比如说,正则表达式 "(\$│?[0-9]+" 应该这样调用 ereg("(\\$│?[0-9]+", $str) (不知道php4是不是一样) 不要忘记在中括号面的字符是这条规路的例外—在中括号面, 所有的特殊字符,包括(''), 都将失去他们的特殊性质(i.e., "[*\+?{}.]"匹配含有这些字符的字符串). 还有,正如regx的手册告诉我们: "如果列表含有 ']', 最好把它作为列表的第一个字符(可能跟在'^'后面). 如果含有'-', 最好把它放在最前面或者最后面, or 或者一个范围的第二个结束点(i.e. [a-d-0-9]中间的‘-’将有效. 为了完整, 我应该涉及到 collating sequences, character classes, 同埋 equivalence classes. 但我在这些方面不想讲的太详细, 这些在下面的文章仲都不需要涉及到. 你们可以在regex man pages 那得到更多消息. 如何构建一个模式来匹配 货币数量 的输入 好了,现在我们要用我们所学的来干一些有用的事:构建一个匹配模式去检查输入的信息是否为一个表示money的数字。我们认为一个表示money的数量有四种方式: "10000.00" 和 "10,000.00",或者没有小数部分, "10000" and "10,000". 现在让我们开始构建这个匹配模式: ^[1-9][0-9]*$ 这是所变量必须以非0的数字开头.但这也意味着 单一的 "0" 也不能通过测试. 以下是解决的方法: ^(0│[1-9][0-9]*)$ "只有0和不以0开头的数字与之匹配",我们也可以允许一个负号再数字之前: ^(0│-?[1-9][0-9]*)$ 这就是: "0 或者 一个以0开头可能有一个负号在前面的数字." 好了, 好了现在让我们别那么严谨,允许以0开头.现在让我们放弃 负号 , 因为我们在表示钱币的时候并不需要用到. 我们现在指定 模式 用来匹配小数部分: ^[0-9]+(\.[0-9]+)?$ 这暗示匹配的字符串必须最少以一个阿拉伯数字开头. 但是注意,在上面模式中 "10." 是不匹配的, 只有 "10" 和 "10.2" 才可以. (你知道为什么吗) ^[0-9]+(\.[0-9]{2})?$ 我们上面指定小数点后面必须有两位小数.如果你认为这样太苛刻,你可以改: ^[0-9]+(\.[0-9]{1,2})?$ 这将允许小数点后面有一到两个字符. 现在我们加上用来增加可读性的逗号(每隔三位), 我们可以这样表示: ^[0-9]{1,3}(,[0-9]{3})*(\.[0-9]{1,2})?$ 不要忘记加号 '+' 可以被乘号 '*' 替代如果你想允许空白字符串被输入话 (为什么?). 也不要忘记反斜杆 ’\’ 在php字符串中可能会出现错误 (很普遍的错误). 现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money) 然后在把类型看 double然后我们就可以通过他做数学计算了. 构造检查email的正则表达式 好,让我们继续讨论怎么验证一个email地址. 在一个完整的email地址中有三个部分: POP3 用户名 (在 '@' 左边的一切), '@', 服务器名(就是剩下那部分). 用户名可以含有大小写字母阿拉伯数字,句号 ('.'), 减号('-'), and 下划线 ('_'). 服务器名字也是符合这个规则,当然下划线除外. 现在, 用户名的开始和结束都不能是句点. 服务器也是这样. 还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式: ^[_a-zA-Z0-9-]+$ 现在还不能允许句号的存在. 我们把它加上: ^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*$ 上面的意思就是说: "以至少一个规范字符(除.意外)开头,后面跟着0个或者多个以点开始的字符串." 简单化一点, 我们可以用 eregi()取代 ereg().eregi()对大小写不敏感, 我们就不需要指定两个范围 "a-z" 和 "A-Z" – 只需要指定一个就可以了: ^[_a-z0-9-]+(\.[_a-z0-9-]+)*$ 后面的服务器名字也是一样,但要去掉下划线: ^[a-z0-9-]+(\.[a-z0-9-]+)*$ Done. 现在只需要用”@”把两部分连接: ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$ 这就是完整的email认证匹配模式了,只需要调用 eregi(‘^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$ ’,$eamil) 就可以得到是否为email了 正则表达式的其他用法 提取字符串 ereg() and eregi() 有一个特性是允许用户通过正则表达式去提取字符串的一部分(具体用法你可以阅读手册). 比如说,我们想从 path/URL 提取文件名 – 下面的代码就是你需要: ereg("([^\\/]*)$", $pathOrUrl, $regs); echo $regs[1]; 高级的代换 ereg_replace() 和 eregi_replace()也是非常有用的: 假如我们想把所有的间隔负号都替换逗号: ereg_replace("[ \n\r\t]+", ",", trim($str)); PHP被大量的应用于Web的后台CGI开发,通常是在用户数据数据之后得出某种结果,但是如果用户输入的数据不正确,就会出现问题,比如说某人的生日是"2月30日"!那应该怎么样来检验暑假是否正确呢? 在PHP中加入了正则表达式的支持,让我们可以十分方便的进行数据匹配。 2 什么是正则表达式: 简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。此外,JavaScript这种客户端的脚本语言也提供了对正则表达式的支持,现在正则表达式已经为了一个通用的概念和工具,被各类技术人员所广泛使用。 在某个Linux网站上面有这样的话:"如果你问一下Linux爱好者最喜欢什么,他可能会回答正则表达式;如果你问他最害怕什么,除了繁琐的安装配置外他肯定会说正则表达式。" 正如上面说的,正则表达式看起来非常复杂,让人害怕,大多数的PHP初学者都会跳过这,继续下面的学习,但是PHP中的正则表达式有着可以利用模式匹配找到符合条件的字符串、判断字符串是否合乎条件或者用指定的字符串来替代符合条件的字符串等强大的功能,不学实在太可惜了…… 3 正则表达式的基本语法: 一个正则表达式,分为三个部分:分隔符,表达式和修饰符。 分隔符可以是除了特殊字符以外的任何字符(比如"/ !"等等),常用的分隔符是"/"。表达式由一些特殊字符(特殊字符详见下面)和非特殊的字符串组,比如"[a-z0-9_-]+@[a-z0-9_-.]+"可以匹配一个简单的电子邮件字符串。修饰符是用来开启或者关闭某种功能/模式。下面就是一个完整的正则表达式的例子: /hello.+?hello/is 上面的正则表达式"/"就是分隔符,两个"/"之间的就是表达式,第二个"/"后面的字符串"is"就是修饰符。 在表达式中如果含有分隔符,那么就需要使用转义符号"\",比如"/hello.+?\/hello/is"。转义符号除了用于分隔符外还可以执行特殊字符,全部由字母构的特殊字符都需要"\"来转义,比如"\d"代表全体数字。 4 正则表达式的特殊字符: 正则表达式中的特殊字符分为元字符、定位字符等等。 元字符是正则表达式中一类有特殊意义的字符,用来描述其前导字符(即元字符前面的字符)在被匹配的对象中出现的方式。元字符本身是一个个单一的字符,但是不同或者相同的元字符组合起来可以构大的元字符。 元字符: 大括号:大括号用来精确指定匹配元字符出现的次数,例如"/pre{1,5}/"表示匹配的对象可以是"pre"、"pree"、"preeeee"这样在"pr"后面出现1个到5个"e"的字符串。或者"/pre{,5}/"代表pre出现0此到5次之间。 加号:"+"字符用来匹配元字符前的字符出现一次或者多次。例如"/ac+/"表示被匹配的对象可以是"act"、"account"、"acccc"等在"a"后面出现一个或者多个"c"的字符串。"+"相当于"{1,}"。 星号:"*"字符用来匹配元字符前的字符出现零次或者多次。例如"/ac*/"表示被匹配的对象可以是"app"、"acp"、"accp"等在"a"后面出现零个或者多个"c"的字符串。"*"相当于"{0,}"。 问号:"?"字符用来匹配元字符前的字符出现零次或者1次。例如"/ac?/"表示匹配的对象可以是"a"、"acp"、"acwp"这样在"a"后面出现零个或者1个"c"的字符串。"?"在正则表达式中还有一个非常重要的作用,即"贪婪模式"。 还有两个很重要的特殊字符就是"[ ]"。他们可以匹配"[]"之中出现过的字符,比如"/[az]/"可以匹配单个字符"a"或者"z";如果把上面的表达式改这样"/[a-z]/",就可以匹配任何单个小写字母,比如"a"、"b"等等。 如果在"[]"中出现了"^",代表本表达式不匹配"[]"内出现的字符,比如"/[^a-z]/"不匹配任何小写字母!并且正则表达式给出了几种"[]"的默认值: [:alpha:]:匹配任何字母 [:alnum:]:匹配任何字母和数字 [:digit:]:匹配任何数字 [:space:]:匹配空格符 [:upper:]:匹配任何大写字母 [:lower:]:匹配任何小写字母 [:punct:]:匹配任何标点符号 [:xdigit:]:匹配任何16进制数字 另外下面这些特殊字符在转义符号"\"转义后代表的含义如下: s:匹配单个的空格符 S:用于匹配除单个空格符之外的所有字符。 d:用于匹配从0到9的数字,相当于"/[0-9]/"。 w:用于匹配字母,数字或下划线字符,相当于"/[a-zA-Z0-9_]/"。 W:用于匹配所有与w不匹配的字符,相当于"/[^a-zA-Z0-9_]/"。 D:用于匹配任何非10进制的数字字符。 .:用于匹配除换行符之外的所有字符,如果经过修饰符"s"的修饰,"."可以代表任意字符。 利用上面的特殊字符可以很方便的表达一些比较繁琐的模式匹配。例如"/\d0000/"利用上面的正则表达式可以匹配万以上,十万一下的整数字符串。 定位字符: 定位字符是正则表达式中又一类非常重要的字符,它的主要作用是用于对字符在匹配对象中的位置进行描述。 ^:表示匹配的模式出现在匹配对象的开头(和在"[]"面不同) $:表示匹配的模式出现在匹配对象的末尾 空格:表示匹配的模式出现在开始和结尾的两个边界之一 "/^he/":可以匹配以"he"字符开头的字符串,比如hello、height等等; "/he$/":可以匹配以"he"字符结尾的字符串即she等; "/ he/":空格开头,和^的作用一样,匹配以he开头的字符串; "/he /":空格结束,和$的作用一样,匹配以he结尾的字符串; "/^he$/":表示只和字符串"he"匹配。 括号: 正则表达式除了可以用户匹配,还可以用括号"()"来记录需要的信息,储存起来,给后面的表达式读取。比如: /^([a-zA-Z0-9_-]+)@([a-zA-Z0-9_-]+)(.[a-zA-Z0-9_-])$/ 就是记录邮件地址的用户名,和邮件地址的服务器地址(形式为username@server.com之类的),在后面如果想要读取记录下来的字符串,只是需要用"转义符+记录的次序"来读取。比如"\1"就相当于第一个"[a-zA-Z0-9_-]+","\2"相当于第二个([a-zA-Z0-9_-]+),"\3"就是第三个(.[a-zA-Z0-9_-])。但是在PHP中,"\"是一个特殊的字符,需要转义,所以""到了PHP的表达式中就应该写"\\1"。 其他特殊符号: "|":或符号"|"和PHP面的或一样,不过是一个"|",而不是PHP的两个"||"!意思就是可以是某个字符或者另一个字符串,比如"/abcd|dcba/"可能匹配"abcd"或者"dcba"。 5 贪婪模式: 前面在元字符中提到过"?"还有一个重要的作用,即"贪婪模式",什么是"贪婪模式"呢? 比如我们要匹配以字母"a"开头字母"b"结尾的字符串,但是需要匹配的字符串在"a"后面含有很多个"b",比如"a bbbbbbbbbbbbbbbbb",那正则表达式是会匹配第一个"b"还是最后一个"b"呢?如果你使用了贪婪模式,那么会匹配到最后一个"b",反之只是匹配到第一个"b"。 使用贪婪模式的表达式如下: /a.+?b/ /a.+b/U 不使用贪婪模式的如下: /a.+b/ 上面使用了一个修饰符U,详见下面的部分。 6 修饰符: 在正则表达式面的修饰符可以改变正则的很多特性,使得正则表达式更加适合你的需要(注意:修饰符对于大小写是敏感的,这意味着"e"并不等于"E")。正则表达式面的修饰符如下: i :如果在修饰符中加上"i",则正则将会取消大小写敏感性,即"a"和"A" 是一样的。 m:默认的正则开始"^"和结束"$"只是对于正则字符串如果在修饰符中加上"m",那么开始和结束将会指字符串的每一行:每一行的开头就是"^",结尾就是"$"。 s:如果在修饰符中加入"s",那么默认的"."代表除了换行符以外的任何字符将会变任意字符,也就是包括换行符! x:如果加上该修饰符,表达式中的空白字符将会被忽略,除非它已经被转义。 e:本修饰符仅仅对于replacement有用,代表在replacement中作为PHP代码。 A:如果使用这个修饰符,那么表达式必须是匹配的字符串中的开头部分。比如说"/a/A"匹配"abcd"。 E:与"m"相反,如果使用这个修饰符,那么"$"将匹配绝对字符串的结尾,而不是换行符前面,默认就打开了这个模式。 U:和问号的作用差不多,用于设置"贪婪模式"。 7 PCRE相关的正则表达式函数: PHP的Perl兼容正则表达式提供的多个函数,分为模式匹配,替换和匹配数目等等: 1、preg_match : 函数格式:int preg_match(string pattern, string subject, array [matches]); 这个函数会在string中使用pattern表达式来匹配,如果给定了[regs],就会将string记录到[regs][0]中,[regs][1]代表使用括号"()"记录下来的第一个字符串,[regs][2]代表记录下来的第二个字符串,以此类推。preg如果在string中找到了匹配的pattern,就会返回"true",否则返回"false"。 2、preg_replace : 函数格式:mixed preg_replace(mixed pattern, mixed replacement, mixed subject); 这个函数会使用将string中符合表达式pattern的字符串全部替换为表达式replacement。如果replacement中需要包含pattern的部分字符,则可以使用"()"来记录,在replacement中只是需要用"\1"来读取。 3、preg_split : 函数格式:array preg_split(string pattern, string subject, int [limit]); 这个函数和函数split一样,区别仅在与split可以使用简单正则表达式分割匹配的字符串,而preg_split使用完全的Perl兼容正则表达式。第三个参数limit代表允许返回多少个符合条件的值。 4、preg_grep : 函数格式:array preg_grep(string patern , array input); 这个函数和preg_match功能基本上,不过preg_grep可以将给定的数组input中的所有元素匹配,返回一个新的数组。 下面举一个例子,比如我们要检查Email地址的格式是否正确: <?php function emailIsRight($email) { if (preg_match("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) { return 1; } return 0; } if(emailIsRight('y10k@963.net')) echo '正确
'; if(!emailIsRight('y10k@fffff')) echo '不正确
'; ?> 上面的程序会输出"正确
不正确"。 8.PHP中的Perl兼容正则表达式和Perl/Ereg正则表达式的区别: 虽然叫做“Perl兼容正则表达式”,但是和Perl的正则表达式相比,PHP的还是由一些不同,比如修饰符“G”在Perl面代表全部匹配,但是在PHP中没有加入对这个修饰符的支持。 还有就是和ereg系列函数的区别,ereg也是PHP中提供的正则表达式函数,不过和preg相比,要弱上很多。 1、ereg面是不需要也不能使用分隔符和修饰符的,所以ereg的功能比preg要弱上不少。 2、关于".":点在正则面一般是除了换行符以外的全部字符,但是在ereg面的"."是任意字符,即包括换行符!如果在preg面希望"."能够包括换行符,可以在修饰符中加上"s"。 3、ereg默认使用贪婪模式,并且不能修改,这个给很多替换和匹配带来麻烦。 4、速度:这个或许是很多人关心的问题,会不会preg功能强大是以速度来换取的?不用担心,preg的速度要远远比ereg快,笔者做了一个程序测试: time test: PHP代码: <?php echo "Preg_replace used time:"; $start = time(); for($i=1;$i<=100000;$i++) { $str = "ssssssssssssssssssssssssssss"; preg_replace("/s/","",$str); } $ended = time()-$start; echo $ended; echo " ereg_replace used time:"; $start = time(); for($i=1;$i<=100000;$i++) { $str = "ssssssssssssssssssssssssssss"; ereg_replace("s","",$str); } $ended = time()-$start; echo $ended; echo " str_replace used time:"; $start = time(); for($i=1;$i<=100000;$i++) { $str = "sssssssssssssssssssssssssssss"; str_replace("s","",$str); } $ended = time()-$start; echo $ended; ?> 结果: Preg_replace used time:5 ereg_replace used time:15 str_replace used time:2 str_replace因为不需要匹配所以速度非常快,而preg_replace的速度比ereg_replace要快上不少。 9.关于PHP3.0对于preg的支持: 在PHP 4.0中默认加入了preg支持,但是在3.0中确没有。如果在3.0中希望使用preg函数,必须加载php3_pcre.dll文件,只要在php.ini的extension部分设置加入"extension = php3_pcre.dll"然后从新启动PHP就可以了! 其实正则表达式还常用于UbbCode的实现,很多PHP论坛都使用了这个方法(比如zForum zphp.com或者vB vbullent.com),但是具体的代码比较长。 本文来自http://blog.csdn.net/kkobebryant/archive/2005/01/25/267527.aspx
学习JAVA的好帮手,希望有所帮助。欢迎使用 JScript 语言参考 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示该标题所包含的项目列表。再从该列表中选择要查看的主题。在打开所选主题后,就可以方便地链接到相关章节。 请尽情浏览 JScript 语言参考的各个部分,你会发现 JScript 语言有多么丰富。 特性 描述 JScript 特性(非-ECMA) JScript 目前的 ECMA 特性列表。 JScript 的特性 (ECMA) JScript 目前的非-ECMA 特性列表。 Microsoft Scripting 运行时特性 JScript 目前的 scripting 运行时特性列表。 语言元素 描述 ! 运算符 对表达式进行逻辑非运算。 != 运算符 比较两个表达式的值是否相等。 !== 运算符 比较两个表达式的值,看其值是否相等或数据类型是否一致。 0...n 属性 返回单个参数的实际值,该参数来自由当前运行函数的参数属性返回的参数对象。 $1...$9 属性 返回在模式匹配中找到的最近的九条记录。 % 运算符 两个表达式的值相除,返回余数。 %= 运算符 用变量的值除以表达式的值,余数赋给变量。 & 运算符 对两个表达式执行按位“与”运算。 &= 运算符 对变量和表达式执行按位“与”运算,结果赋给变量。 && 运算符 对两个表达式执行逻辑连接运算。 * 运算符 将两个表达式的值相乘。 *= 运算符 将变量与表达式的值相乘,结果赋给变量。 + 运算符 将两个数字表达式的值相加,或连接两个字符串。 ++ 运算符 变量值加 1。 += 运算符 将表达式的值加到变量中。 , 运算符 使两个表达式按顺序执行。 - 运算符 从一个表达式中减去另一个表达式的值,或对单个表达式取反。 -- 运算符 变量值减 1。 -= 运算符 变量值减去表达式的值,结果赋给变量。 / 运算符 两个表达式的值相除。 /*..*/ (多行注释语句) 使 JScript 语法分析器忽略多行注释。 // (单行注释语句) 使 JScript 语法分析器忽略单行注释。 /= 运算符 变量值除以表达式的值,结果赋给变量。 < 运算符 比较一个表达式的值是否小于另一个表达式。 << 运算符 将表达式向左移位。 <<= 运算符 将变量的值左移由表达式指定的位数,结果赋给变量。 <= 运算符 比较一个表达式的值是否小于等于另一个表达式。 = 运算符 为变量赋值。 == 运算符 比较两个表达式是否相等。 === 运算符 比较两个表达式,看其值是否相等或数据类型是否一致。 > 运算符 比较一个表达式的值是否大于另一个表达式。 >= 运算符 比较一个表达式的值是否大于等于另一个表达式。 >> 运算符 将表达式向左移位,符号位不变。 >>= 运算符 将变量的值右移由表达式指定的位数,符号位不变,结果赋给变量。 >>> 运算符 将表达式向左移位,包括符号位。 >>>= 运算符 将变量的值右移由表达式指定的位数,包括符号位,结果赋给变量。 ?: 运算符 根据条件执行其中一个语句。 ~ 运算符 对表达式执行按位“非”(取反)运算。 | 运算符 对两个表达式执行按位“或”运算。 |= 运算符 对变量和表达式的值执行按位“或”运算,结果赋给变量。 || 运算符 对两个表达式执行逻辑或运算。 ^ 运算符 对两个表达式执行异或运算。 ^= 运算符 对变量和表达式的值执行按位异或运算,结果赋给变量。 @cc_on 语句 激活条件编译支持。 @if 语句 根据表达式的值,有条件地执行一组语句。 @set 语句 创建用于条件编译语句的变量。 abs 方法 返回一个数的绝对值。 acos 方法 返回一个数的反余弦。 ActiveXObject 对象 启用并返回一个 Automation 对象的引用。 加法运算符 (+) 将两个数字表达式的值相加,或连接两个字符串。 anchor 方法 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点。 apply 方法 应用对象的一个方法,用当前对象代替另一对象。 arguments 属性 返回一个包含传递给当前执行函数的每个参数的数组。 Array 对象 提供对创建任何数据类型的数组的支持。 asin 方法 返回一个数的反正弦。 赋值运算符 (=) 将一个值赋给变量。 atan 方法 返回一个数的反正切。 atan2 方法 返回从 X 轴到点 (y, x)的角度(以弧度为单位)。 atEnd 方法 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。 big 方法 在String 对象的文本两端加入 HTML 的标识。 按位与运算符 (&) 对两个表达式执行按位与操作。 按位左移运算符(<<) 将一个表达式的各位向左移。 按位取非运算符 对一个表达式执行按位取非(求非)操作。 按位或运算符 (|) 对两个表达式指定按位或操作。 按位右移运算符 (>>) 将一个表达式的各位向右移,保持符号不变。 按位异或运算符(^) 对两个表达式执行按位异或操作。 blink 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 bold 方法 将 HTML 的 标识添加到String 对象中的文本两端。 Boolean 对象 创建一个新的 Boolean 值。 break 语句 终止当前循环,或者如果与一个label 语句关联,则终止相关联的语句。 call 方法 应用对象的一个方法,用当前对象代替另一对象。 callee 属性 返回正执行的函数对象,它是指定的函数对象的文本正文。 caller 属性 返回调用当前函数的函数引用。 catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 ceil 方法 返回大于或等于其数值参数的最小整数。 charAt 方法 返回位于指定索引位置的字符。 charCodeAt 方法 返回指定字符的 Unicode 编码。 逗号运算符 (,) 使两个表达式连续执行。 /*..*/ (多行注释语句) 使多行注释部分被 JScript 语法分析器忽略。 注释语句 - 单行(//) 使 JScript 语法分析器忽略单行注释。 比较运算符 返回一个显示比较结果的 Boolean 值。 compile 方法 将一个正则表达式编译为内部格式。 复合赋值运算符 复合赋值运算符列表。 concat 方法 (Array) 返回一个由两个数组合并组的新数组。 concat 方法 (String) 返回一个包含给定的两个字符串连接的String 对象。 条件(三元)运算符 (?:) 根据条件执行两个表达式之一。 constructor 属性 指定创建对象的函数。 continue 语句 停止循环的当前迭代,并开始一次新的迭代。 cos 方法 返回一个数的余弦。 Date 对象 提供日期和时间的基本存储和检索。 decodeURI 方法 返回一个已编码的通用资源标识符 (URI) 的解码版。 decodeURIComponent 方法 返回一个已编码的通用资源标识符 (URI) 组件的解码版。 递减运算符(--) 将变量减一。 delete 运算符 删除对象的属性,或删除数组中的一个元素。 description 属性 返回或设置关于指定错误的描述字符串。 Dictionary 对象 存储数据键、项目对的对象。 dimensions 方法 返回 VBArray 的维数。 除法运算符 (/) 对两个表达式执行除法运算。 do...while 语句 先执行一次语句块,然后重复执行该循环,直至条件表达式的值为 false。 E 属性 返回 Euler 常数,即自然对数的底。 encodeURI 方法 将文本字符串编码为合法的通用资源标识符 (URI)。 encodeURIComponent 方法 将文本字符串编码为合法的通用资源标识符 (URI)组件。 Enumerator 对象 提供集合中的项的枚举。 相等运算符(==) 比较两个表达式,看是否相等。 Error 对象 包含在运行 JScript 代码时发生错误信息的对象。 escape 方法 对 String 对象编码,以便在所有计算机上都能阅读。 eval 方法 对 JScript 代码求值然后执行。 exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 FileSystemObject 对象 提供对计算机文件系统的访问。 fixed 方法 将 HTML 的 标识添加到String 对象中的文本两端。 floor 方法 返回小于或等于其数值参数的最大整数。 fontcolor 方法 将 HTML 带 COLOR 属性的 标识添加到 String 对象中的文本两端。 fontsize 方法 将 HTML 带 SIZE 属性的 标识添加到 String 对象中的文本两端。 for 语句 只要指定的条件为 true,就一直执行语句块。 for...in 语句t 对应于对象或数组中的每个元素执行一个或多个语句。 fromCharCode 方法 返回 Unicode 字符值的字符串。 Function 对象 创建一个新的函数。 function 语句 声明一个新的函数。 getDate 方法 使用当地时间返回 Date 对象的月份日期值。 getDay 方法 使用当地时间返回 Date 对象的星期几。 getFullYear 方法 使用当地时间返回 Date 对象的年份。 getHours 方法 使用当地时间返回 Date 对象的小时值。 getItem 方法 返回指定位置的项。 getMilliseconds 方法 使用当地时间返回 Date 对象的毫秒值。 getMinutes 方法 使用当地时间返回 Date 对象的分钟值。 getMonth 方法 使用当地时间返回 Date 对象的月份。 GetObject 函数 返回文件中的 Automation 对象的引用。 getSeconds 方法 使用当地时间返回 Date 对象的秒数。 getTime 方法 返回 Date 对象中的时间值。 getTimezoneOffset 方法 返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)。 getUTCDate 方法 使用全球标准时间(UTC)返回 Date 对象的日期值。 getUTCDay 方法 使用全球标准时间(UTC)返回 Date 对象的星期几的值。 getUTCFullYear 方法 使用全球标准时间(UTC)返回 Date 对象的年份。 getUTCHours 方法 使用全球标准时间(UTC)返回Date 对象的小时数。 getUTCMilliseconds 方法 使用全球标准时间(UTC)返回Date 对象的毫秒数。 getUTCMinutes 方法 使用全球标准时间(UTC)返回 Date 对象的分钟数。 getUTCMonth 方法 使用全球标准时间(UTC)返回 Date 对象的月份值。 getUTCSeconds 方法 使用全球标准时间 (UTC) 返回 Date 对象的秒数。 getVarDate 方法 返回 Date 对象中的 VT_DATE。 getYear 方法 返回 Date 对象中的年份。 Global 对象 是一个固有对象,目的是将全局方法集中在一个对象中。 global 属性 返回一个 Boolean 值,标记正则表达式使用的 global 标志状态 (g)。 大于运算符(>) 比较两个表达式,看一个是否大于另一个。 大于相等运算符(>=) 比较两个表达式,看一个是否大于等于另一个。 hasOwnProperty 方法 返回一个 Boolean 值,标记对象是否带有指定名称的属性。 恒等运算符 (===) 比较两个表达式,看是否值相等并具有相同的数据类型。 if...else 语句 根据表达式的值,有条件地执行一组语句。 ignoreCase 属性 返回一个 Boolean 值,标记正则表达式使用的 ignoreCase 标志状态 (i)。 递增运算符(++) 给变量加一。 index 属性 返回在字符串中找到的第一个功匹配的字符位置。 indexOf 方法 返回在 String 对象中第一次出现子字符串的字符位置。 不相等运算符 (!=) 比较两个表达式,看是否不相等。 Infinity 属性 返回 Number.POSITIVE_INFINITY 的初始值。 input 属性 返回进行查找的字符串。 instanceof 运算符 返回一个 Boolean 值,表明某个对象是否为特定类的一个实例。 isFinite 方法 返回一个 Boolean 值,表明某个给定的数是否是有穷的。 isNaN 方法 返回一个 Boolean 值,表明某个值是否为保留值 NaN(不是一个数)。 isPrototypeOf 方法 返回一个 Boolean 值,表明对象是否存在与另一对象的原型链中。 italics 方法 将 HTML的 标识添加到 String 对象中的文本两端。 item 方法 返回集合中的当前项。 join 方法 返回一个由数组中的所有元素连接在一起的 String 对象。 Labeled 语句 给语句提供一个标识符。 lastIndex 属性 返回在字符串中找到的最后一个功匹配的字符位置。 lastIndexOf 方法 返回在 String 对象中最后出现子字符串的位置。 lastMatch 属性 ($) 从任何正则表达式搜索中返回最后匹配的字符。 lastParen 属性 ($+) 从任意一个正则表达式搜索中返回最后的由括号括起的子匹配(若存在的话)。 lbound 方法 返回在 VBArray 中指定维数所用的最小索引值。 leftContext 属性 ($`) 返回由调用者传递给函数的实际参数个数。 length 属性 (Arguments) 返回由调用者传递给函数的实际参数个数。 length 属性 (Array) 返回比数组中所定义的最高元素大 1 的整数值 。 length 属性 (Function) 返回为函数所定义的参数个数。 length 属性 (String) 返回 String 对象的长度。 小于运算符 (<) 比较两个表达式,看是否一个小于另一个。 小于相等运算符 (<=) 比较两个表达式,看是否一个小于等于另一个。 link 方法 将带 HREF 属性的 HTML 锚点添加到 String 对象中的文本两端。 LN2 属性 返回 2 的自然对数。 LN10 属性 返回 10 的自然对数。 localeCompare 方法 返回值表明在当前区域设置下,两个字符串是否相等。 log 方法 返回某个数的自然对数。 LOG2E 属性 返回以 2 为底的 e(即 Euler 常数)的对数。 LOG10E 属性 返回以 10 为底的e(即 Euler 常数)的对数。 逻辑与运算符 (&&) 对两个表达式执行逻辑与操作。 逻辑非运算符(!) 对表达式执行逻辑非操作。 逻辑或运算符 (||) 对两个表达式执行逻辑或操作。 match 方法 使用给定的正则表达式对象对字符串进行查找,并将结果作为数组返回。 Math 对象 一个固有对象,提供基本的数学函数和常数。 max 方法 返回给定的两个表达式中的较大者。 MAX_VALUE 属性 返回在 JScript中能表示的最大值。 message 属性 min 方法 返回给定的两个数中的较小者。 MIN_VALUE 属性 返回在 JScript中能表示的最接近零的值。 取模运算符 (%) 对两个表达式执行除法运算,返回余数。 moveFirst 方法 将集合中的当前项设置为第一项。 moveNext 方法 将当前项设置为集合中的下一项。 multiline 属性 返回 Boolean 值,表明正则表达式使用的 multiline 标志 (m)。 乘法运算符 (*) 对两个表达式执行减法操作。 name 属性 返回错误名称。 NaN 属性 (Global) 返回特殊值 NaN,表示某个表达式不是一个数。 NaN 属性 (Number) 返回特殊值 (NaN),表示某个表达式不是一个数。 NEGATIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的负数 (Number.MAX_VALUE)更小的值。 new 运算符 创建一个新对象。 不恒等运算符 (!==) 比较两个表达式,看是否具有不相等的值或数据类型不同。 Number 对象 表示数值数据类型和提供数值常数的对象。 number 属性 返回或设置与特定错误关联的数值。 Object 对象 提供所有的 JScript 对象的公共功能。 运算符优先级 包含 JScript 运算符的执行优先级信息的列表。 parse 方法 对包含日期的字符串进行分析,并返回该日期与1970年1月1日零点之间相差的毫秒数。 parseFloat 方法 返回从字符串转换而来的浮点数。 parseInt 方法 返回从字符串转换而来的整数。 PI 属性 返回圆周与其直径的比值,约等于3.141592653589793。 pop 方法 将数组中的最后一个元素删除,并返回其值。 POSITIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的数 (-Number.MAX_VALUE)更大的值。 pow 方法 返回一个指定幂次的底表达式的值。 propertyIsEnumerable 属性 返回一个 Boolean 值,表明指定的属性是否是对象的一部分或是否是可枚举的。 prototype 属性 返回对象类的原型引用。 push 方法 向数组中添加新的元素,返回新的数组长度。 random 方法 返回一个 0 和 1 之间的伪随机数。 RegExp 对象 存储有关正则表达式模式查找的信息。 正则表达式对象 包含一个正则表达式模式。 正则表达式语法 在写正则表达式模式时可以使用的特殊字符和序列的列表。 replace 方法 返回根据正则表达式进行文字替换后的字符串的拷贝。 return 语句 从当前函数退出并从该函数返回一个值。 reverse 方法 返回一个元素反序的 Array 对象。 rightContext 属性 ($') 返回被搜索字符串从最后匹配位置到结束之间的字符。 round 方法 将一个指定的数值表达式舍入到最近的整数值。 运行时错误 JScript运行时错误列表 ScriptEngine 函数 返回一个代表所使用的脚本语言的字符串。 ScriptEngineBuildVersion 函数 返回所使用的脚本引擎的编译版本号。 ScriptEngineMajorVersion 函数 返回所使用的脚本引擎的主版本号。 ScriptEngineMinorVersion 函数 返回所使用的脚本引擎的次版本号。 search 方法 返回与正则表达式查找内容匹配的第一个子字符串的位置。 setDate 方法 使用当地时间设置 Date 对象的数值日期。 setFullYear 方法 使用当地时间设置 Date 对象的年份。 setHours 方法 使用当地时间设置 Date对象的小时值。 setMilliseconds 方法 使用当地时间设置 Date 对象的毫秒值。 setMinutes 方法 使用当地时间设置 Date 对象的分钟值。 setMonth 方法 使用当地时间设置 Date 对象的月份。 setSeconds 方法 使用当地时间设置 Date 对象的秒值。 setTime 方法 设置 Date 对象的日期和时间。 setUTCDate 方法 使用全球标准时间(UTC)设置 Date对象的数值日期。 setUTCFullYear 方法 使用全球标准时间(UTC)设置 Date 对象的年份。 setUTCHours 方法 使用全球标准时间(UTC)设置 Date 对象的小时值。 setUTCMilliseconds 方法 使用全球标准时间(UTC)设置 Date 对象的毫秒值。 setUTCMinutes 方法 使用全球标准时间(UTC)设置 Date 对象的分钟值。 setUTCMonth 方法 使用全球标准时间(UTC)设置 Date 对象的月份。 setUTCSeconds 方法 使用全球标准时间(UTC)设置 Date 对象的秒值。 setYear 方法 使用 Date 对象的年份。 shift 方法 删除数组中的第一个元素并返回该值。 sin 方法 返回一个数的正弦。 slice 方法 (Array) 返回数组的一个片段。 slice 方法 (String) 返回字符串的一个片段。 small 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 sort 方法 返回一个元素被排序了的 Array 对象。 source 属性 返回正则表达式模式的文本的复制。 splice 方法 从数组中删除一个元素,必要时在该位置插入一个新元素,返回被删除的元素。 split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 sqrt 方法 返回一个数的平方根。 SQRT1_2 属性 返回 0.5 的平方根,即 1 除以 2 的平方根。 SQRT2 属性 返回 2 的平方根。 strike 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 String 对象 提供对文本字符串的操作和格式处理,判定在字符串中是否存在某个子字符串并确定其位置。 sub 方法 将 HTML 的 标识放置到 String 对象中的文本两端。 substr 方法 返回一个从指定位置开始并具有指定长度的子字符串。 substring 方法 返回位于 String 对象中指定位置的子字符串。 一元取相反数运算符(-) 从一个表达式的值中减去另一个表达式的值。 sup 方法 将 HTML 的 标识放置到 String 对象中的文本两端。 switch 语句 当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。 Syntax 错误 JScript 语法错误列表。 tan 方法 返回一个数的正切。 test 方法 返回一个 Boolean 值,表明在被查找的字符串中是否存在某个模式。 this 语句 对当前对象的引用。 throw 语句 产生一个可由 try...catch 语句处理的错误条件。 toArray 方法 返回一个从 VBArray 转换而来的标准 JScript 数组。 toDateString 方法 以字符串形式返回日期值。 toExponential 方法 返回一个用指数形式表示的字符串。 toFixed 方法 返回一个字符串,表示一个用不动点记法表示的数字。 toGMTString 方法 返回一个转换为使用格林威治标准时间(GMT)的日期。 toLocaleDateString 方法 返回一个与主机环境的当前区域设置相适应的字符串形式的日期。 toLocaleLowercase 方法 返回字符串,其中的所有字符都被转换小写(考虑主机环境的当前设置)。 toLocaleString 方法 返回一个转换为使用当地时间的日期。 toLocaleTimeString 方法 返回一个与主机环境的当前区域设置相适应的字符串形式的时间。 toLocaleUppercase 方法 返回字符串,其中的所有字符都被转换大写(考虑主机环境的当前设置)。 toLowerCase 方法 返回一个字符串,该字符串中所有字母被转换为小写字母。 toString 方法 返回一个对象的字符串表示。 toPrecision 方法 返回一个字符串,该字符串包含用指定位数的指数或 fixed-point 形式表示的数字。 toTimeString 方法 返回以字符串形式表示的时间。 toUpperCase 方法 返回一个字符串,该字符串中所有字母都被转换为大写字母。 toUTCString 方法 返回一个转换为使用全球标准时间(UTC)的日期。 try 语句 实现 JScript 的错误处理。 typeof 运算符 返回一个表示表达式的数据类型的字符串。 ubound 方法 返回在 VBArray 的指定维中所使用的最大索引值。 一元取负运算符 (-) 表示一个数值表达式的相反数。 undefined 属性 返回 undefined 的初始值。 unescape 方法 对用escape 方法编码的 String 对象进行解码。 unshift 方法 返回一个数组,在该数组头部插入了指定的元素。 无符号右移运算符 (>>>) 将表达式向右移位,包括符号位。 UTC 方法 返回 1970年1月1日零点的全球标准时间 (UTC)(或 GMT)与指定日期之间的毫秒数。 valueOf 方法 返回指定对象的原始值。 var 语句 声明一个变量。 VBArray 对象 提供对 Visual Basic 安全数组的访问。 void 运算符 避免一个表达式返回值。 while 语句 执行语句直至给定的条件为 false。 with 语句 确定一个语句的默认对象。 语言元素 描述 GetObject 函数 返回文件中的 Automation 对象的引用。 ScriptEngine 函数 返回代表所使用的脚本语言的字符串。 ScriptEngineBuildVersion 函数 返回所使用的脚本引擎的编译版本号。 ScriptEngineMajorVersion 函数 返回所使用的脚本引擎的主版本号。 ScriptEngineMinorVersion 函数 返回所使用的脚本引擎的次版本号。 语言元素 描述 abs 方法 返回一个数的绝对值。 acos 方法 返回一个数的反余弦。 anchor 方法 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点。 apply 方法 应用对象的一个方法,用当前对象代替另一对象。 asin 方法 返回一个数的反正弦。 atan 方法 返回一个数的反正切。 atan2 方法 返回从 X 轴到点 (y, x)的角度(以弧度为单位)。 atEnd 方法 返回一个表明枚举算子是否处于集合结束处的 Boolean 值。 big 方法 在String 对象的文本两端加入 HTML 的标识。 blink 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 bold 方法 将 HTML 的 标识添加到String 对象中的文本两端。 call 方法 应用对象的一个方法,用当前对象代替另一对象。 ceil 方法 返回大于或等于其数值参数的最小整数。 charAt 方法 返回位于指定索引位置的字符。 charCodeAt 方法 返回指定字符的 Unicode 编码。 compile 方法 将一个正则表达式编译为内部格式。 concat 方法(Array) 返回一个由两个数组合并组的新数组。 concat 方法(String) 返回一个包含给定的两个字符串的连接的 String 对象。 cos 方法 返回一个数的余弦。 decodeURI 方法 返回一个已编码的通用资源标识符 (URI) 的解码版。 decodeURIComponent 方法 返回一个已编码的通用资源标识符 (URI) 的解码版。 dimensions 方法 返回 VBArray 的维数。 escape 方法 对 String 对象编码,以便在所有计算机上都能阅读。 eval 方法 对 JScript 代码求值然后执行之。 exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 fixed 方法 将 HTML 的 标识添加到String 对象中的文本两端。 floor 方法 返回小于或等于其数值参数的最大整数。 fontcolor 方法 将 HTML 带 COLOR 属性的标识添加到 String 对象中的文本两端。 fontsize 方法 将 HTML 带 SIZE 属性的标识添加到 String 对象中的文本两端。 fromCharCode 方法 返回 Unicode 字符值的字符串。 getDate 方法 使用当地时间返回 Date 对象的月份日期值。 getDay 方法 使用当地时间返回 Date 对象的星期几。 getFullYear 方法 使用当地时间返回 Date 对象的年份。 getHours 方法 使用当地时间返回 Date 对象的小时值。 getItem 方法 返回位于指定位置的项。 getMilliseconds 方法 使用当地时间返回 Date 对象的毫秒值。 getMinutes 方法 使用当地时间返回 Date 对象的分钟值。 getMonth 方法 使用当地时间返回 Date 对象的月份。 getSeconds 方法 使用当地时间返回 Date 对象的秒数。 getTime 方法 返回 Date 对象中的时间。 getTimezoneOffset 方法 返回主机的时间和全球标准时间(UTC)之间的差(以分钟为单位)。 getUTCDate 方法 使用全球标准时间(UTC)返回 Date 对象的日期值。 getUTCDay 方法 使用全球标准时间(UTC)返回 Date 对象的星期几。 getUTCFullYear 方法 使用全球标准时间(UTC)返回 Date 对象的年份。 getUTCHours 方法 使用全球标准时间(UTC)返回Date 对象的小时数。 getUTCMilliseconds 方法 使用全球标准时间(UTC)返回Date 对象的毫秒数。 getUTCMinutes 方法 使用全球标准时间(UTC)返回 Date 对象的分钟数。 getUTCMonth 方法 使用全球标准时间(UTC)返回 Date 对象的月份值。 getUTCSeconds 方法 使用全球标准时间(UTC)返回Date对象的秒数。 getVarDate 方法 返回 Date 对象中的 VT_DATE。 getYear 方法 返回 Date 对象中的年份。 hasOwnProperty 方法 返回一个 Boolean 值,表明对象是否具有指定的名称。 indexOf 方法 返回在 String 对象中第一次出现子字符串的字符位置。 isFinite 方法 返回一个 Boolean 值,表明某个给定的数是否是有穷的。 isNaN 方法 返回一个 Boolean 值,表明某个值是否为保留值 NaN (不是一个数)。 isPrototypeOf 方法 返回一个 Boolean 值,表明对象是否存在于另一对象的原型链中。 italics 方法 将 HTML的 标识添加到 String 对象中的文本两端。 item 方法 返回集合中的当前项。 join 方法 返回一个由数组中的所有元素连接在一起的 String 对象。 lastIndexOf 方法 返回在 String 对象中子字符串最后出现的位置。 lbound 方法 返回在 VBArray 中指定维数所用的最小索引值。 link 方法 将带 HREF 属性的 HTML 锚点添加到 String 对象中的文本两端。 localeCompare 方法 返回一个值,表明两个字符串在当前区域设置下是否相等。 log 方法 返回某个数的自然对数。 match 方法 使用给定的正则表达式对象对字符串进行查找,并将结果作为数组返回。 max 方法 返回给定的两个表达式中的较大者。 min 方法 返回给定的两个数中的较小者。 moveFirst 方法 将集合中的当前项设置为第一项。 moveNext 方法 将当前项设置为集合中的下一项。 parse 方法 对包含日期的字符串进行分析,并返回该日期与1970年1月1日零点之间相差的毫秒数。 parseFloat 方法 返回从字符串转换而来的浮点数。 parseInt 方法 返回从字符串转换而来的整数。 pop 方法 删除数组中的最后一个元素并返回该值。 pow 方法 返回一个指定幂次的底表达式的值。 push 方法 向数组中添加新元素,返回数组的新长度。 random 方法 返回一个 0 和 1 之间的伪随机数。 replace 方法 返回根据正则表达式进行文字替换后的字符串的拷贝。 reverse 方法 返回一个元素反序的 Array 对象。 round 方法 将一个指定的数值表达式舍入到最近的整数并将其返回。 search 方法 返回与正则表达式查找内容匹配的第一个子字符串的位置。 setDate 方法 使用当地时间设置 Date 对象的数值日期。 setFullYear 方法 使用当地时间设置 Date 对象的年份。 setHours 方法 使用当地时间设置 Date 对象的小时值。 setMilliseconds 方法 使用当地时间设置 Date 对象的毫秒值。 setMinutes 方法 使用当地时间设置 Date 对象的分钟值。 setMonth 方法 使用当地时间设置 Date 对象的月份。 setSeconds 方法 使用当地时间设置 Date 对象的秒值。 setTime 方法 设置 Date 对象的日期和时间。 setUTCDate 方法 使用全球标准时间(UTC)设置 Date 对象的数值日期。 setUTCFullYear 方法 使用全球标准时间(UTC)设置 Date 对象的年份。 setUTCHours 方法 使用全球标准时间(UTC)设置 Date 对象的小时值。 setUTCMilliseconds 方法 使用全球标准时间(UTC)设置 Date 对象的毫秒值。 setUTCMinutes 方法 使用全球标准时间(UTC)设置 Date 对象的分钟值。 setUTCMonth 方法 使用全球标准时间(UTC)设置 Date 对象的月份。 setUTCSeconds 方法 使用全球标准时间(UTC)设置 Date 对象的秒值。 setYear 方法 使用 Date 对象的年份。 shift 方法 删除数组中的第一个元素并返回该值。 sin 方法 返回一个数的正弦。 slice 方法 (Array) 返回数组的一个片段。 slice 方法 (String) 返回字符串的一个片段。 small 方法 将 HTML 的 标识添加到 String 对象中的文本两端。 sort 方法 返回一个元素被排序了的 Array 对象。 splice 方法 从数组中删除元素,若必要,在相应位置处插入新元素,返回被删除的元素。 split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 sqrt 方法 返回一个数的平方根。 strike 方法 将 HTML 的 标识添加到String 对象中的文本两端。 sub 方法 将 HTML 的 标识放置到 String 对象中的文本两端。 substr 方法 返回一个从指定位置开始并具有指定长度的子字符串。 substring 方法 返回位于 String 对象中指定位置的子字符串。 sup 方法 将 HTML 的 标识放置到 String 对象中的文本两端。 tan 方法 返回一个数的正切。 test 方法 返回一个 Boolean 值,表明在被查找的字符串中是否存在某个模式。 toArray 方法 返回一个从 VBArray 转换而来的标准 JScript 数组。 toDateString 方法 返回以字符串形式表示的日期。 toExponential 方法 返回一个字符串,该字符串包含一个以指数形式表示的数字。 toFixed 方法 返回一个字符串,表明一个用 fixed-point 形式表示的数字。 toGMTString 方法 返回一个转换为使用格林威治标准时间(GMT)的字符串的日期。 toLocaleDateString 方法 返回一个以字符串形式表示的日期,该日期与主机环境的当前区域设置相适应。 toLocaleLowercase 方法 返回一个字符串,其中所有的字母字符都被转换小写(考虑主机环境的当前区域设置)。 toLocaleTimeString 方法 返回一个以字符串形式表示的时间,该时间与主机环境当前区域设置相适应。 toLocaleString 方法 返回一个转换为使用当地时间的字符串的日期。 toLocaleUppercase 方法 返回一个字符串,其中所有的字母字符都被转换大写(考虑主机环境的当前区域设置)。 toLowerCase 方法 返回一个所有的字母字符都被转换为小写字母的字符串。 toPrecision 方法 返回一个字符串,该字符串包含用指定位数的指数或 fixed-point 形式表示的数字。 toString 方法 返回一个对象的字符串表示。 toTimeString 方法 返回一个以字符串形式表示的时间。 toUpperCase 方法 返回一个所有的字母字符都被转换为大写字母的字符串。 toUTCString 方法 返回一个转换为使用全球标准时间(UTC)的字符串的日期。 ubound 方法 返回在 VBArray 的指定维中所使用的最大索引值。 unescape 方法 对用escape 方法编码的 String 对象进行解码。 unshift 方法 返回一个数组,在该数组头部插入了指定的元素。 UTC 方法 返回 1970年1月1日零点的全球标准时间 (UTC) (或 GMT)与指定日期之间的毫秒数. valueOf 方法 返回指定对象的原始值。 语言元素 描述 ActiveXObject 对象 启用并返回一个 Automation 对象的引用。 Array 对象 提供对创建任何数据类型的数组的支持。 Boolean 对象 创建一个新的 Boolean 值。 Date 对象 提供日期和时间的基本存储和检索。 Dictionary 对象 存储数据键、项对的对象。 Enumerator 对象 提供集合中的项的枚举。 Error 对象 包含在运行 JScript 代码时发生的错误的有关信息。 FileSystemObject 对象 提供对计算机文件系统的访问。 Function 对象 创建一个新的函数。 Global 对象 是一个内部对象,目的是将全局方法集中在一个对象中。 Math 对象 一个内部对象,提供基本的数学函数和常数。 Number 对象 表示数值数据类型和提供数值常数的对象。 Object 对象 提供所有的 JScript 对象的公共功能。 RegExp 对象 存储有关正则表达式模式查找的信息。 正则表达式对象 包含一个正则表达式模式。 String 对象 提供对文本字符串的操作和格式处理,判定在字符串中是否存在某个子字符串及确定其位置。 VBArray 对象 提供对 Visual Basic 安全数组的访问。 语言元素 描述 ! 运算符 对表达式执行逻辑“非”运算。 != 运算符 比较两个表达式的值,看其是否相等。 !== 运算符 比较两个表达式的值,看其是否不相等或数据类型不一致。 % 运算符 对两个表达式执行除法运算,返回余数。 %= 运算符 对变量和表达式执行除法运算,余数赋给变量。 & 运算符 对两个表达式执行按位“与”运算。 &= 运算符 对变量和表达式执行按位“与”运算,结果赋给变量。 && 运算符 对两个表达式执行逻辑连接运算。 * 运算符 对两个表达式执行乘法运算。 *= 运算符 对变量和表达式执行乘法运算,结果赋给变量。 + 运算符 对两个数值表达式求和,或连接两个字符串。 ++ 运算符 变量值加一。 += 运算符 将变量和表达式的值相加,结果赋给变量。 , 运算符 使两个表达式按顺序执行。 - 运算符 从一个表达式的值减去另一个表达式的值或对一个表达式执行取负运算。 -- 运算符 变量值减一。 -= 运算符 从变量值中减表达式的值,结果赋给变量。 / 运算符 对两个表达式执行除法运算。 /= 运算符 对变量和表达式执行除法运算,结果赋给变量。 < 运算符 比较一个表达式是否小于另一个表达式。 << 运算符 将表达式向左移位。 <<= 运算符 将变量的值左移由表达式指定的位数,结果赋给变量。 <= 运算符 比较一个表达式的值是否小于等于另一个表达式的值。 = 运算符 为变量赋值。 == 运算符 比较两个表达式是否相等。 === 运算符 比较两个表达式,看其值是否相等或数据类型是否一致。 > 运算符 比较一个表达式的值是否大于另一表达式。 >= 运算符 比较一个表达式的值是否大于等于另一表达式。 >> 运算符 表达式向右移位,符号位不变。 >>= 运算符 将变量的值左移由表达式指定的位数,符号位不变,结果赋给变量。 >>> 运算符 表达式向右移位,包括符号位。 >>>= 运算符 将变量的值左移由表达式指定的位数,包括符号位,结果赋给变量。 ?: 运算符 根据条件执行其中一个语句。 ~ 运算符 对表达式执行按位“非”(取反)运算。 | 运算符 对两个表达式执行按位“或”运算。 |= 运算符 对变量和表达式的值执行按位“或”运算,结果赋给变量。 || 运算符 对两个表达式执行逻辑或运算。 ^ 运算符 对两个表达式执行按位异或运算。 ^= 运算符 对变量和表达式的值执行按位异或运算,结果赋给变量。 加法运算符 (+) 求两个数值表达式的和,或连接两个字符串。 赋值运算符 (=) 将一个值赋给变量。 按位与运算符 (&) 对两个表达式执行按位与操作。 按位左移运算符(<<) 将一个表达式的各位向左移。 按位取非运算符 (~) 对一个表达式执行按位取非(求非)操作。 按位或运算符 (|) 对两个表达式指定按位或操作。 按位右移运算符 (>>) 将一个表达式的各位向右移,保持符号不变。 按位异或运算符 (^) 对两个表达式执行按位异或操作。 逗号运算符 (,) 使两个表达式连续执行。 比较运算符 返回 Boolean 值,表示比较结果。 复合赋值运算符 复合赋值运算符列表。 条件(三元)运算符(?:) 根据条件执行两个表达式之一。 递减运算符 (--) 将变量减一。 delete 运算符 删除对象的属性,或删除数组中的一个元素。. 除法运算符(/) 对两个表达式执行除法运算。 相等运算符(==) 比较两个表达式,看是否相等。 大于运算符(>) 比较两个表达式,看一个是否大于另一个。 大于相等运算符 (>=) 比较两个表达式,看一个是否大于等于另一个。 恒等运算符 (===) 比较两个表达式,看是否值相等并具有相同的数据类型。 递增运算符(++) 给变量加一。 不相等运算符 (!=) 比较两个表达式,看是否不相等。 instanceof 运算符 返回一个 Boolean 值,表明某个对象是否为特定类的一个实例。 小于运算符(<) 比较两个表达式,看是否一个小于另一个。 小于相等运算符 (<=) 比较两个表达式,看是否一个小于等于另一个。 逻辑与运算符 (&&) 对两个表达式执行逻辑与操作。 逻辑非运算符 (!) 对表达式执行逻辑非操作。 逻辑或运算符 (||) 对两个表达式执行逻辑或操作。 取模运算符。 (%) 对两个表达式执行除法运算,返回余数。 乘法运算符 (*) 对两个表达式执行减法操作。 new 运算符 创建一个新对象。 不恒等运算符 (!==) 比较两个表达式,看是否具有不相等的值或数据类型不同。 运算符优先级 包含 JScript 运算符的执行优先级信息的列表。 减法运算符 (-) 求两个表达式值的差。 typeof 运算符 返回一个表示表达式的数据类型的字符串。 一元取相反数运算符(-) 表示一个数值表达式的相反数。 无符号右移运算符 (>>>) 表达式向右移位,包括符号位。 void 运算符 避免一个表达式返回值。 语言元素 描述 0...n 属性 返回单个参数的实际值,该参数来自由当前运行函数的参数属性返回的参数对象。 $1...$9 属性 返回在模式匹配中找到的最近的九条记录 arguments 属性 返回一个包含传递给当前执行函数的每个参数的数组。 caller 属性 返回调用当前函数的函数引用。 callee 属性 返回正执行的函数对象,它是指定的函数对象的文本正文。 constructor 属性 指定创建对象的函数。 description 属性 返回或设置关于指定错误的描述字符串。 E 属性 返回 Euler 常数,即自然对数的底。 global 属性 返回一个 Boolean 值,表明正则表达式使用的 global 标志 (g) 状态。 ignoreCase 属性 返回一个 Boolean 值,表明正则表达式使用的 ignoreCase 标志 (i) 状态。 index 属性 返回在字符串中找到的第一个功匹配的字符位置。 Infinity 属性 返回 Number.POSITIVE_INFINITY 的初始值。 input 属性 返回进行查找的字符串。 lastIndex 属性 返回在字符串中找到的最后一个功匹配的字符位置。 lastMatch 属性 ($) 返回任意正则表达式搜索中最后匹配的字符。 lastParen 属性 ($+) 从任意一个正则表达式搜索中返回最后的由括号括起的子匹配(若存在的话)。 leftContext 属性 ($`) 返回由调用者传递给函数的实际参数个数。 length 属性 (Arguments) 返回由调用者传递给函数的实际参数个数。 length 属性 (Array) 返回比数组中所定义的最高元素大 1 的一个整数。 length 属性 (Function) 返回为函数所定义的参数个数。 length 属性 (String) 返回 String 对象的长度。 LN2 属性 返回 2 的自然对数。 LN10 属性 返回 10 的自然对数。 LOG2E 属性 返回以 2 为底的 e(即 Euler常数)的对数。 LOG10E 属性 返回以 10 为底的e(即 Euler常数)的对数。 MAX_VALUE 属性 返回在 JScript中能表示的最大值。 message 属性 返回错误消息串。 MIN_VALUE 属性 返回在 JScript中能表示的最接近零的值。 multiline 属性 返回一个 Boolean 值,表明正则表达式使用的 multiline 标志 (m) 状态。 name 属性 返回错误名称。 NaN 属性(Global) 返回特殊值 NaN,表示某个表达式不是一个数。 NaN 属性 (Number) 返回特殊值 (NaN),表示某个表达式不是一个数。 NEGATIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的负数 (-Number.MAX_VALUE)更负的值。 number 属性 返回或设置与特定错误关联的数值。 PI 属性 返回圆周与其直径的比值,约等于3.141592653589793。 POSITIVE_INFINITY 属性 返回比在 JScript 中能表示的最大的数 (Number.MAX_VALUE)更大的值。 propertyIsEnumerable 属性 返回一个 Boolean 值,表明指定的属性是否是对象的一部分或是否是可枚举的。 prototype 属性 返回对象类的原型引用。 source 属性 返回正则表达式模式的文本的拷贝。 rightContext 属性 ($') 返回被搜索字符串从最后匹配位置到结束之间的字符。 SQRT1_2 属性 返回 0.5 的平方根,即 1 除以 2 的平方根。 SQRT2 属性 返回 2 的平方根。 undefined 属性 返回 undefined 的初始值。 语言元素 描述 break 语句 终止当前循环,或者如果与一个label 语句关联,则终止相关联的语句。 catch 语句 包含在 try 语句块中的代码发生错误时执行的语句。 @cc_on 语句 激活条件编译支持。 //(单行注释语句) 使单行注释被 JScript 语法分析器忽略。 /*..*/(多行注释语句) 使多行注释被 JScript 语法分析器忽略。 continue 语句 停止循环的当前迭代,并开始一次新的迭代。 do...while 语句 先执行一次语句块,然后重复执行该循环,直至条件表达式的值为 false。 for 语句 只要指定的条件为 true,就一直执行语句块。 for...in 语句 对应于对象或数组中的每个元素执行一个或多个语句。 function 语句 声明一个新的函数。 @if 语句 根据表达式的值,有条件地执行一组语句。 if...else 语句 根据表达式的值,有条件地执行一组语句。 Labeled 语句 给语句提供一个标识符。 return 语句 从当前函数退出并从该函数返回一个值。 @set 语句 创建用于条件编译语句的变量。 switch 语句 当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。 this 语句 对当前对象的引用。 throw 语句 产生一个可由 try...catch 语句处理的错误条件。 try 语句 实现 JScript 的错误处理。 var 语句 声明一个变量。 while 语句 执行语句直至给定的条件为 false。 with 语句 确定一个语句的默认对象。 语言元素 描述 运行时错误 JScript运行时错误列表 语法错误 JScript语法错误列表
(function(){ //定义外部接口 //Request开放接口给外部,提供两个接口:getParameter和getParameterValues //这样外部的JavaScript文件就可以通过调用Request.getParameter()来执行相应的动作 Request = { getParameter:getParameter, getParameterValues:getParameterValues }; //得到URL后的参数,例如URL:http://abc?x=1&y=2 //那么getParameter("x") 得到1 function getParameter(paraName,wnd) { //如果不提供wnd参数,则默认为当前窗口 if(wnd == null) wnd = self; //得到地址栏上“?”后边的字符串 var paraStr = wnd.location.search.slice(1); //根据“&”符号分割字符串 var paraList = paraStr.split(/\&/g); for (var i = 0; i < paraList.length; i++) { //用正则表达式判断字符串是否是“paraName=value”的格式 //关于正则表达式的内容在本书的第10章中有较详细的讨论 var pattern = new RegExp("^"+paraName+"[?=\\=]","g"); if(pattern.test(paraList[i])) { //若是,则返回解码后的value的内容 return decodeURIComponent(paraList[i].split(/\=/g)[1]); } } } //如果有多个重复的paraName的情况下,下面这个方法返回一个包含了所有值的数组 //例如http://abc?x=1&x=2&x=3 ,getParameterValues("x")得到[1,2,3] function getParameterValues(paraName,wnd) { if(wnd == null) wnd = self; var paraStr = wnd.location.search.slice(1); var paraList = paraStr.split(/\&/g); var values = new Array(); for (var i = 0; i < paraList.length; i++) { //上面的判断部分和getParameter()方法类似 //区别是对应每一个paramName的value有多个 var pattern = new RegExp("^"+paraName+"[?=\\=]","g"); if(pattern.test(paraList[i])) { //将所有满足paramName=value的结果的value都放入一个数组中 values.push(decodeURIComponent(paraList[i].split(/\=/g)[1])); } } //返回结果数组 return values; } })(); 输出如下: <script type="text/javascript" src="客户端模拟服务器端的Request发送和获得参数.js">"+document.URL)
Tcl_TK编程权威指南pdf 内容简介回到顶部↑Tcl/Tk是第一种能通过Windows、Macintosh和Solaris等主要平台处理企业级任务的脚本语言。本书共分为55章,依次详细讲述了Tcl基础、Tcl高级特性、TK基础、TK组件、TK详解、C语言编程、各版本之间的差异等方面的知识,并通过大量实例,生动翔实地向读者介绍了Tcl/Tk编程,是读者掌握Tcl/Tt的必备参考书。 本书适合各个层次的读者阅读。 目录回到顶部↑第1部分 tcl基础 第1章 tcl的基本知识 tcl命令 hello,world! 变量 命令替换 数学表达式 反斜杠替换 使用花括号和双引号进行分组 过程 一个阶乘的例子 更多有关变量的知识 更多有关数学表达式的内容 注释 有关替换与分组的总结 要点 参考 第2章 开始使用 source命令 unix上的tcl脚本程序 .windows 95的开始菜单 macintosh与resedit console命令 命令行变元 预定义变量 第3章 cgi应用程序--顾客留言簿 html简介 使用cgi创建动态页面 guestbook.cgi脚本程序 定义表单以及处理表单数据 cgi.tcl软件包 接下去的几步 第4章 tcl中的字符串处理 string命令 append命令 format命令 scan命令 binary命令 相关章节 第5章 tcl列表 tcl列表 构建列表 获取列表元素 修改列表 搜索列表 对列表进行排序 split命令 join命令 相关章节 第6章 控制结构命令 if then else switch while foreach for break与continue catch error return 第7章 过程与作用域 proc命令 使用rename来改变命令名 作用域 global命令 通过upvar以名字进行调用 使用upvar来处理变量别名 第8章 tcl数组 数组的语法 array命令 使用数组来构建数据结构 第9章 对文件和程序的操作 使用exec运行程序 file命令 跨平台的文件命名方式 操作文件和目录 文件属性 对i/o命令的总结 打开文件用于i/o操作 读写操作 当前目录-cd和pwd 使用glob来匹配文件名 exit和pid命令 环境变量 registry命令 第2部分tcl高级特性 第10章 引用问题与eval 使用list命令来构建代码 在eval内部利用concat uplevel命令 subst命令 第11章 正则表达式 何时使用正则表达式 正则表达式的语法 高级正则表达式(are) 语法总结 regexp命令 rgsub命令 使用regsub将数据转换为程序 其他使用正则表达式的命令 第12章 脚本库及软件包 确定软件包的位置:auto-path变量 使用软件包 对软件包加载的总结 package命令 基于文件tclindex的库 unknown命令 方便交互 tclshell的库环境 编码风格 第13章 反射与调试 clock命令 info命令 跨平台支持 跟踪变量的值 交互式命令历史记录 调试 scriptics的tclpro 其他工具 性能调校 第14章 名字空间 使用名字空间 名字空间变量 命令查找 嵌套名字空间 过程的进口与输出 回调与名字空间 内省(introspection) namespace命令 转换现有的软件包以使用名字空间 [incrtcl]对象系统 注意事项 第15章 国际化(internationalization) 字符集与编码 消息目录 第16章 事件驱动的编程 tcl事件循环 after命令 fileevent命令 vwait命令 fconfigure命令 第17章 套接字编程 客户端套接字 服务器端套接字 回送(echo)服务 使用http获取一个url http软件包 基本认证 第18章 tclhttpd web服务器 将 tclhttpd与你的应用程序集 域处理程序 应用执导的url 文档类型 html+tcl模板 表单处理程序 编程参考 标准应用执导(application-dirct)的url tclhttpd发行版 服务器配置 第19章 多解释器与 safe-tcl interp命令 创建解释器 安全解释器 命令别名 隐藏命令 替换 从安全解释器中执行i/o操作 安全基础 安全策略 第20章 safe-tk与浏览器插件 子解释器中的tk 浏览器插件 安全策略与浏览器插件 配置安全策略 第3部分 tk基础 第21章 tk的基本知识 th中的hello,world! tk组件的命名 配置tk组件 tk组件属性与资源数据库 tk命令概要 第22章 tk实例解析 execlog example browser tcl shell 第23章 打包摆放布局管理器(pack) 朝一侧摆放 水平与垂直难叠 空腔模型( cavity model) 打包摆放空间(packing space)与显w空间(display space) 尺寸调整与一expand 挂靠 摆放顺序 选择用于摆放的父组件 取消一个组件的摆放 打包器总结 窗口的堆叠顺序 第24章 栅格摆放布局管理器( grid) 一种基本栅格 跨行列摆放 行列约束 grid命令 第25 章定位摆放布局管理器( place) place的基础知识 面板管理器 place命令 第26章 将命令与事件编联 bind命令 bindtags命令 事件的语法 修饰符 事件序列 虚拟事件 事件关键词 第4部分 tk组件 第27章 按钮与菜单 按钮命令与作用域问题 与tcl变量关联的按钮 按钮属性 按钮操作 菜单和菜单按钮 键盘遍历 操纵菜单和菜单条目 菜单属性 通过名字来指定菜单的软件包 第28章 资源数据库 有关资源的介绍 加载选项数据库 添加单一的数据库条目 存取数据库 用户定义的按钮 用户定义的菜单 第29章 简单的tk组件 框架组件与顶层窗口 标签组件 消息组件 标尺组件 bell命令 第30章 滚动条 使用滚动条 滚动条协议 滚动条组件 第31章 输入条组件 使用输入条组件 输入条组件 第32章 列表框组件 使用列表框组件 列表框组件的编联 列表框组件的属性 第33章 文本组件 文本索引 文本标记 文本标签 文本信息的选择( selection) 标签的编联 文本搜索 嵌入组件 图片的嵌入 查看文本组件的内部信息 文本组件的编联 文本组件的操作 文本组件的属性 第34章 画布组件 画布坐标 hello, world! 最小和最大标尺的例子 画布对象 画布组件的操作 产生postscript输出 画布组件的属性 建议 第5部分 tk详解 第35章 选择和剪贴板 选择模型 selection命令 clipboard命令 选择处理程序 第36章 焦点、焦点的捕获和对话框 标准对话框 定制对话框 使用update命令实现动画 第37章 tk组件的属性 配置属性 尺寸 边界与浮雕效果 焦点的高亮显示 补自(padding)与挂靠(anchor) 第38章 颜色、图片和鼠标指针 颜色 色彩映射与视频种类 位图和图片 文本插入光标 鼠标指针 第39章 字体与文本属性 字体命名 x字体名 字模 font命令 文本属性 栅格化、尺寸调整和布局 一个字体选择应用程序 第40章 send send命令 发送者脚本 通信进程 通过套接字来实现远程eval 第41章 窗口管理器与窗口信息 win命令 winfo命令 tk命令 第42章 管理用户首选项 应用默认设置文件 定义首选项 首选项的用户界面 管理首选项文件 跟踪对首选项变量的修改 对该软件包的改进 第43章 一种操作编联的用户界面 一对协调工作的列表框 编辑界面 保存与加载编联 第6部分 c语言编程 第44章 c语言编程与tcl 基本概念 创建可加载软件包 一个用c语言实现的命令过程 blob命令的例于 字符串与国际化 tolmain和tcl-applnit tk_main 事件循环 从c中调用脚本 第45章 编译tci及扩展模块 标准目录结构 从源代码建立tci 使用占位函数库(stub library) 使用autoconf 扩展模块范例 makefile.in 第46章 使用c语言编写tk组件 初始化扩展模块 组件的数据结构 组件的类命令 组件实例命令 配置和重新配置属性 指定组件属性 时钟的显示 窗口事件过程 最后的清除工作 第47章 c函数库概览 tclc函数库概览 tk c函数库概览 第7部分 各版本之间的差异 第48章 tcl 7.4/tk 4.0 wish 过时废弃的功能 cgct操作 输入焦点的高亮显示 编联 滚动条接日 pack info 焦点 send命令 按钮的内部补白 单选按钮的值 输入条组件 菜单 列表框 没有了geometry属性 文本组件 颜色属性 颜色分配与tk colormodel 画布组件的scrollincrement 选择 bell命令 第49章 tcl 7.5/tk 4.1 跨平台脚本 clock命令 load命令 package命令 多个foreach循环变量 事件循环从tk转移到了tcl 网络套接字 多解释器与safe-tcl grid布局管理器 文本组件 输入条组件 第50章 tcl7.6/tk 4.2 更多的file操作 虚拟事件 标准对话框 新的grid布局管理器 macintosh的unsupportedl命令 第51章 tcl/tk 8.0 tcl编译器 名字空间 safe-tcl 新的lsort tcl_precision变量 2000年约定 http软件包 串行线i/o 独立于平台的字体 tk scaling命令 应用程序的嵌入 本地化菜单与菜单条 cde的边界宽度 本地化的按钮和滚动条 文本组件中的图片 destroy不再产生错误 grid rowconfigure 补丁版本 第52章 tcl/tk 8.1 unicode与国际化 线程安全 高级正则表达式 新字符串命令 dde扩展模块 杂类 第53章 tcl/tk 8.2 trf补丁 更快的字符串操作 空数组名 浏览器插件的兼容性 第54章 tcl/tk 8.3 关于tcl的修改建议 关于tk的改动建议 第55章 有关本书的cd-rom ↓展开全部内容 序言回到顶部↑Tcl为工具命令语言(Tool Command Language)的缩写。它其实是指两样东西:一种脚本语言,以及该脚本语言的解释器。该解释器可以很容易地嵌入到你的应用程序中。Tcl和与之关联的图形用户界面工具包(Tk)是由加州大学的John Ousterhout教授设计并编写的。尽管它是个商用软件包,但你也可以在Internet上找到它(见第VII页),而且可以在自己的应用程序中自由使用这个软件包。Tcl解释器已经从Unix平台移植到了DOS、Windows、OS/2、NT以及Macintosh环境中,而TK工具包也从X window系统移植到了Windows和Macintosh环境中。 1988年,当我在Berkeley做ousterhout教授的博士生时,第一次听说了Tcl。我们当时正在设计一种名为Sprite的网络操作系统。同学们在努力编制一个新式的内核程序,而John编写了一个新的编辑器和终端仿真程序。他使用Tcl作为这两种工具的命令语言,这样用户就可以定义菜单或者对那些程序进行定制。那时还处在使用X10的时代,他计划编写一个基于Tcl的X工具包,以使程序之间通过Tcl命令进行通信,彼此相互协作。对我来说,这种工具之间的相互协作就是Tcl的实质。 这种早期的设想就是让应用程序由包含编译代码的大块实体和一小部分用于进行配置和编写高级命令的Tcl代码组。John的编辑器皿,还有终端仿真程序tx就遵循了这种模式。虽然这种模式仍然是有效的,但结果表明用Tcl来编写整个应用程序也是可能的。这是因为Tcl/Tk的shell程序wish提供了对其他程序、文件系统和网络套接字的存取功能,同时还能够创建图形用户界面。不管怎样,现在发现包含几千行Tcl脚本的应用程序并不稀奇。 我编写这本书的原因就是,虽然自己觉得使用Tcl与Tk既有乐趣又高效,但是也有令人头痛的时候。此外,在Xerox PARC工作,那有许多语言和系统上的专家,我不得不强迫自己去理解Tcl/Tk的长处和弱点。我的许多同事都在他们的项目中采用了Tcl和Tk,但是他们也很快指出了它的缺点。因此,我就总结了一套编程技巧以充分利用Tcl/Tk的强大功能,同时回避一些棘手的问题。这本书就是一本帮助你最大限度地利用Tcl/Tk并回避一些我所经历过的令人头痛的问题的实用编程指南。 我接触Tcl语言大概已经有10年的时间了,而本书的第一版也已经出版5年了。在过去的几年中,我一直在John Ousterhout的手下工作,最初是在Sun微系统公司,而现在是在Scriptics公司。我一直使自己在很大程度上保持着一个Tcl程序员的角色,而我们工作组中的其他人员则埋头于Tcl本身的C语言实现。我创建的应用程序有HTML编辑器、EMAIL比用户接口程序、Web服务器以及用户数据库,我们的商务应用就建立在它们的基础上。这些经历在本书中有所反映。本书的大部分内容是有关Tcl脚本编程的,而有关使用C语言来创建Tcl扩展模块的内容没有着重讲述。我有幸一直参与Tcl核心技术的开发活动,希望通过本书能够将自己使用Tcl时获得的切身体会表达出来。 为什么要使用Tcl 作为一种脚本语言,Tcl与其他的Unix shell语言,如Bourne Shell(sh)、C Shell(csh)、Korn Shell以及Perl类似。Shell程序可以让你执行其他的程序。它们提供了足够的可编程特性(变量、流程控制和过程),使你可以将现有程序组装符合自己需要的复杂的脚本程序。Shell程序非常适用于一些日常任务的自动化处理工作。 Tcl解释器可以很容易地添加到你的应用程序中,这种能力将它与其他的shell语言区分开来。Tcl扮演了一种扩展语言的角色,用来配置和定制应用程序。你没有必要再去为自己的新应用程序发明一种命令语言,或是费力为自己的工具提供某种用户可编程特性。其实,你可以通过添加一个Tcl解释器,来将自己的应用程序组织一组操作原语,并使用这些原语来构造最符合用户需求的脚本程序。这样还可以允许其他的程序通过编程来控制你的应用程序,以使套装应用程序能够很好地在一起工作。 Tcl的C函数库拥有清晰的接口而且便于使用。该函数库实现了基本的解释器,它有一套实现变量、流程控制和过程的核心脚本命令,而且还有一组用来存取操作系统服务以运行其他程序、存取文件系统和使用网络套接字的命令。Tcl和Tk提供了一台可以在UNIX、Windows和Macintosh环境中可移植的"虚拟机"。 因为你的应用程序可以定义新的Tcl命令,所以Tcl虚拟机是可扩展的。这些命令与你的应用程序所提供的C或C++过程关联。结果应用程序就分割一组用编译语言编写的原语,并输出为相应的Tcl命令。使用Tcl脚本程序可以将这些原语组装完整的应用程序。脚本语言层可以存取与shell类似的功能以运行其他的程序,可以存取文件系统,还可以直接通过自己定义的Tcl命令来调用应用程序中编译的代码部分。此外,从C编程的层面上来说,你还可以调用Tcl脚本程序、设置和询问Tcl变量,甚至跟踪Tcl解释器的执行。 在Internet上有许多可自由使用的Tcl扩展模块。许多扩展模块都包含了一个提供某种新功能的C函数库,以及该函数库的Tcl接口。这样的例子包括数据库存取、电话控制、MIDI控制器存取,还有expect,它为控制交互式程序增加了一组Tcl命令。 最为著名的扩展模块就是Tk,这是一种图形用户界面工具包。Tk定义了用来创建和操作用户界面组件的Tcl命令。这种基于脚本的用户界面编程方法有三个好处: . 由于快速的响应周期,所以开发迅速,不存在漫长的编译等待过程。 . Tcl命令提供了一种比绝大多数由标准C函数库实现的用户界面工具包更为高级的接口。它只需一小组命令就可以定义简单的用户界面,同时又可以对用户界面进行细化以恰当地实现每一个细节。快速的响应周期又为这种细化过程提供了帮助。 用户界面处理可以从你的应用程序的其余部分分离出来。因而开发人员能够专心致志地实现应用程序的核心部分,然后再颇为轻松地构建出用户界面。Tk组件的核心功能通常能够满足你所有的用户界面需求。不过,你还可以用C语言来编写定制的Tk组件,而且网上还有许多大家提供的Tk组件可以使用。 还有其他可以用做扩展语言的选择,这包括VisualBasic、Scheme、Elisp、Perl;Python和Javascript等,你可以依照个人喜好从中进行选择。Tcl拥有简单的结构,而且还有些地方类似于C语言,可以通过编制C过程来增添新的Tcl原语。Tcl非常易学,许多有关用户使用Tcl在很短的时间内(例如几个星期)就完了相当难度的项目,并且他们以前压根就没有接触过Tcl。 当本书第一次出版时,Java轰动了计算机界。Java是一种极为优秀的系统编程语言,长远来看还有可能代替C和C什语言。这对Tcl来说挺好,它在设计时就被用来将由任意系统编程语言编写的构件粘连起来。Tcl过去被设计与C语言一起工作,但是现在已经被改造能够与Java虚拟机一起工作。在我们提到"C或C++"的地方,现在也可以说"C、C++或Java"了,但是对于Java来说,其细节上还多少存在些差异。这本书并没有描述TcVJava接口,但是你可以在CD-ROM上找到TclBlend。TclBlend将Java虚拟机加载到你的Tc3应用程序中并允许你调用Java方法,它还可以让你使用Java而不是C或C十十来实现Tcl命令。 Javascript是一种来自于Netscape的语言,它被设计用来编写与w曲页面进行交互的脚本程序。由于Netscape的广泛使用,Javascript就显得很重要,然而Tcl提供了一种更为通用的脚本方案,可以在更为广泛的范围中使用。Tcl/Tk的Web浏览器插件提供了一种在浏览器中运行Tcl的方式,结果使得Tcl更像是一种Java的替代品而不是Javascript的替代品。该插件可以让你在浏览器中执行Tcl应用程序,而Javascript则为你提供了对浏览器和HTML显示的精细控制。这种插件将在第20章有所描述。TcI与Tk的版本 Tcl与Tk仍在继续演变。请参看http://www.beedub.com/book/来了解有关最新的Tcl版本的更新和消息。由于历史原因,Tcl与Tk曾各有各的版本号,但是它们对发行,并一起工作。这本书的原始版本基于Tcl7.4和Tk 4.0并有几处引用了Tk 3.6的功能。第三版已经进行了更新,它反映了直到Tcl/Tk8.2以来所增添的各种新特性: . Tcl7.5和Tk 4.1的最终发布在1996年5月。这些版本的特点是将Tk移植到了Windows和Macintosh环境。它引入了Safe-Tcl安全机制,以支持网络小应用程序(Applet)的 .安全执行。它还提供了对网络套接字的支持以及一种新的输入输出(I/O)子系统,以支持高性 能的事件驱动I/O。 . Tcl7.6和Tk4.2的最终发布是在1996年的10月。这些版本包含了对S池-Tcl的改进,以及对在Tk 4.1中引进的grid布局管理器的改进。跨平台的支持包括虚拟事件(例如,以<<Copy>>宋代表<Control-c>=、标准对话框,还有更多的文件操作命令。 . Tcl 7.7和Tk 4.3是内部版本,用于开发NetscapeNavigator和MicrosoftInternetExplorer Web浏览器的Tcl/Tk插件。它们的开发工作实际上与Tcl7.6和Tk 4.2并行进行。Tcl/Tt插件已经发布了许多各种平台上的版本,其中包括Solaris/SPARC、Solaris/INTEL、SunOS、Linux、Digital UNIX、IRIX、HP/UX、Windows95、Windows NT以及Macintosh。该浏览器插件支持Web页面中的Tcl小应用程序(Applet),同时使用Safe-Tcl复杂的安全机制来提供安全保证。 . Tcl8.0为Tcl新增了一个运行时用的编译器,这个编译器提供了数倍于Tcl脚本的执行速度。Tcl8.0支持内嵌空字符的字符串。编译器对脚本来说是透明的,但是扩展模块编写入员需要学习一些新的C API才能发挥它的潜力。由于John Ousterhout从Sun微系统公司到了Scriptics公司,发布8.0版的时间推迟了几年。广泛使用的版本8.0p2是在1997年完的,但是最终的补丁版本8.0.5直到1999年春才发布。 . 在8.0时,Tk更改了版本号以与Tcl相匹配。Tk 8.0包含了一种新的独立于平台的字体机制,它还包含了本地化菜单和菜单条,以及更多的本地化组件,它们在Windows和Macintosh上拥有更好的本地化外观。 Tcl/Tk8.1新特性主要包括对Unicode的完整支持,以及线程安全,这样你就可以将Tcl嵌入到多线程的应用程序中。Unicode是一种新的正则表达式引擎,它提供了在Perl5中所能找到的所有功能。Tk为找到正确的用于显示Unicode字符的字体完了卓越的工作,它还增加了一种信息目录设施,这样你就可以编写国际化的应用程序。Tcylk 8.1的发布史中还包括了Sun到Scriptics的过渡。第一个alpha版本完于1997年秋,而最终的补丁版本完于1999年5月。 Tcl/Tk 8.2主要是一个进行bug修正和稳固化的版本。它对TclC函数库API进行了几处微小增补,这样无须核心补丁程序也能支持更多的扩展模块。Tcl/Tk 8.2很快在1999年夏进入最终版本。 谁应当阅读本书 本书不仅适用于熟练的编程人员,同样也适用于初学者。对于初学者和熟练编程人员来说,我建议大家仔细学习一下策1章"Tcl的基本知识"。Tcl的编程模型被设计一种简单的模式,它与许多编程语言存在差异。该模型基于字符串替换,你对这一点的正确理解很重要,这样才能避免在复杂情况下遇到麻烦。这本书的其余部分则包含了演示如何高效地使用Tcl与Tt的例子。每一章中都有对其中所描述的Tcl命令和Tk组件进行总结的表格,以供参考。 本书假定你有一些编程经验,但是你如果是个彻头彻尾的新手也能够读下去。对Unix shell的了解将会对你有所帮助,但这并不是必须的。在那些涉及Windows系统的地方,我会提供一些背景信息。第2章详细描述了在UNIX、Windows和Macintosh上使用Tcl与Tk的内容。 如何阅读本书 本书最好能在上机实习中使用,可以在计算机上尝试一下书中的例子。Tcl与Tk的命令手册尽管完整但却缺少上下文的的相关信息和例子,本书就试图填补在简明手册与现有的文档化或没有很好文档化的Tcl程序之间的空隙。 我推荐使用联机手册来查阅有关的Tcl/Tk命令。它为每个命令都提供了详细的参考指南,但是它没能提供完整的细节,这在每一次发布的版本中都有所不同。HTML版本的联机手册可以在随书的CD-ROM中找到。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧