版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VBScript的内置函数函数是可以向其传递参数并能够返回值的可重复使用的代码块,在Vbscript中内置了许多函数,方便我们使用。下面我们将对一些重要的函数进行分析:一、时间和日期函数VBScript有许多函数,使你可以得到各种格式的日期和时间。1、Now 函数 格式:Now() 说明:返回当前的日期和时间值。示例 2-4-1.asp 时间日期当前时间是: 当前时间是:示例解读: 在编程语言中函数的一个特点是后面带有圆括号,一般来说定义和调用函数这个圆括号都不能省略,但在Vbscript中调用函数时可以省略圆括号,如本例中的Now和Now()返回结果是一样的。和两种输出方式输出结果也是一样的
2、。你应该注意,返回的日期和时间是你的Web服务器的系统时钟的日期和时间。如果身处纽约的某个人在看你的网页,他看到的日期和时间与她当地的日期和时间也许是不一致的。函数NOW同时返回日期和时间。如果你只想返回当前日期,你可以使用函数DATE。如果你只想返回当前时间,你可以使用函数TIME。请看下面date()函数和time()函数。2、Date 函数格式:Date() 说明:Date函数返回当前系统日期。示例 2-4-2.asp 时间日期当前日期是: 当前日期是:3、Time 函数格式:Time() 说明: Time 函数返回当前系统时间:示例 2-4-3.asp 时间日期测试上面的示例可以说明时
3、间函数Now、Date、Time的区别。 4、timer 函数 说明:返回午夜 12 时以后已经过去的秒数。示例 timer.asp上面的例子使用 Timer 函数来确定 For.Next 循环 次所需的时间: 5、操作日期(1) Month 函数格式:Month(date) 参数: date为任意日期表达式。说明:返回当前月。Month函数和year年,day日,hour时,minute分,second秒是类似的,这些函数会将参数给定的值,转换为相应的年,月,日,时,分,秒。(2) Weekday 函数格式:Weekday(date, firstdayofweek) 参数: date 可以代
4、表日期的任意表达式。 Firstdayofweek 可选,用来指定一周的第一天的常数。默认值周日为1。使用函数Month(),Day(),Weekday(),和Year(),你可以把一个日期分割成更小的部分。所有这些函数都以一个日期表达式作为参数,并返回一个数字。这里有一个如何使用这些函数的示例示例 2-4-4.asp asp简单程序现在是 :年当前月是 :当前日期是:今天是星期:注意函数weekday()假定一个星期的第一天是星期日。如果你想把星期一作为一周的第一天,你可以使用语句:weekday(DATE,vbMonday),你可以把任何一天作为一周的第一天。要指定一周的第一天是星期几,只
5、要用vbSunday, vbMonday, vbTuesday, vbWednesday, vbThursday, vbFriday或 vbSaturday代替函数WEEKDAY()的第二个参数即可请看下面的示例示例 2-4-5.asp asp简单程序一般情况下Weekday()在没有参数的情况下,默认把星期日作为每周的第一天,你不单可以用函数DATE作为这些函数的参数。你也可以提供一个日期字符串或者一个日期常数作为参数,如下例所示:示例 2-4-6.asp asp简单程序2005年圣诞节是星期 :2005年圣诞节是星期 :示例解读:这两个函数都返回2004年圣诞节这一天是星期几。(Weekd
6、ay()默认为星期日为每周的第一天,在输出时应该减1,这里输出为0,表示星期日)表达式#12/25/2005#是一个日期常数,日期常数总是括在字符中。表达式”12-25-2005”是一个日期字符串。用这两种方法为函数提供一个日期都是可行的。要以更加易读的形式返回月份和星期几,你可以使用函数Weekdayname()或Monthname()。这两个函数返回的是字符串。这里有一个使用这两个函数的例子:示例 2-4-7.asp asp简单程序现在是年的今天是:示例解读:上面示例的两个函数返回的是两个字符串,假设当前日期是二月,星期三,就返回“二月”和“星期三”字符串。这取决于当前你服务器上的时间。如
7、果你想指定你要返回的是某月或某个星期几,那么你可以把1到12之间的任何整数作为函数Monthname()的参数,你可以把1到7之间的任何整数作为函数Weekdayname()的参数。在返回英文时,通过指定第二个参数TRUE,来强制这两个函数返回缩写的字符串。(TRUE表示要缩写,FALSE表示不缩写。)如下所示:6、操作时间你也可以把时间分割成更小的部分。通过函数Hour(),Minute(),和Second(),你可以返回时间的不同部分。下面是使用这些函数的一些例子:示例 2-4-8.asp asp简单程序返回当前的时:返回当前的分:返回当前的秒:示例解读:函数Hour()返回一个0到23之
8、间的整数(0点是午夜后的一个小时)。函数Minute()返回一个0到59之间的整数。函数Second()也返回一个0到59之间的整数。你不单可以用函数TIME作为这些函数的参数,你还可以提供一个时间常数或时间字符串作为参数。下面的两个例子都从时间中抽取分钟数34: 返回分钟:34 也返回分钟:347、比较日期和时间VBScript有两个用于比较日期和时间的函数。你可以用函数DATEADD()对日期和时间作加法,用函数DATEDIFF()计算两个日期或时间的间隔。(1)DateAdd 函数格式 DateAdd(interval,number, date) 参数: interval 必选项。字符串
9、表达式,表示要添加的时间间隔。 number 必选项。数值表达式,表示要添加的时间间隔的个数,即时间间隔的倍数因子。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。 date必选项。Variant 或要添加 interval 的表示日期的文字,即:是一个日期或时间的变量或常量。 说明:返回已添加指定时间间隔的日期。下面是日期和时间间隔(interval参数)间隔 描述yyyy 年 q 季度 m 月 y 一年的日数 d 天 w 一周的日数 ww 星期 h 小时 n 分钟 s 秒可用 DateAdd 函数从日期中添加或减去指定时间间隔。例如可以使用 DateAdd 从当天算起 30
10、 天以后的日期或从现在算起 45 分钟以后的时间。要向 date 添加以“日”为单位的时间间隔,可以使用“一年的日数”(“y”)、“日”(“d”)或“一周的日数”(“w”)。下面是使用函数DATEADD()的一些例子:示例 2-4-9.asp asp简单程序比今天晚六个星期的日期:返回15秒钟后的时间中的秒数:返回当前的秒:DateAdd 函数不会返回无效日期。如下示例将 05 年 1 月 31 日加上一个月: 示例 2-4-10.asp asp简单程序比2005年1月31日晚一个月的日期:比2004年1月31日晚一个月的日期:示例解读:在这个示例中,将2005年1月31日加上一个月,Date
11、Add 返回2005年2月28日,而不是 2005年2月31日。如果将2004年1月31日加上一个月,则返回2004年2月29日,这是因为2004是闰年。如果计算的日期是在公元 100 年之前,则会产生错误。(2)DateDiff 函数格式:DateDiff(interval, date1, date2)参数: interval 指定date1和date2之间的时间间隔。取值如下所示:年yyyy,月m,日d,时h,分n,秒s,周ww。 date1, date2 日期表达式。用于计算的两个日期。 说明:返回两个日期之间的时间间隔示例 2-4-11.asp asp简单程序% dim m,d1,d2
12、 m=datediff(m,#2005/2/1#,Date)返回从05年2月至今日有几个月 d1=datediff(d,#2005-2-1#,Date)返回从05年2月至今日有几天 d2=datediff(d,Date,#2007-1-1#)返回现在到2007年1月1日有多少天 d3=datediff(ww,#2005-3-1#,date)返回从05年3月1日至今日有几周 d4=datediff(h,#2005-3-1#,date)返回从05年3月1日至今日有多少小时response.write m& response.write d1&response.write d2& response.
13、write d3response.write response.write d4% 两个参数是两个日期。为了避免出现负数,第一个日期参数应该比第二个早。(如果该函数返回一个负数,你应该知道第一个日期比第二个日期晚。)二、转换函数在Vbscript中,表达式中的变量一般会根据情况进行自动转换,但是有的时候这种转换会造成类型不匹配,这时就需要使用转换函数进行转换。转换函数常用的有以下几个。1、转换为字符串类型CStr(expression) 将表达式expression转换为字符串示例 2-4-12.asp asp简单程序 2、转换为日期类型CDate(date) 参数date可以是日期或时间类型
14、的数据,也可以是数字,数字的整数部分被转换为日期,分数部分被转换为从午夜开始计算的时间。转换函数CDate()根据系统的区域设置转换为相应的日期格式。示例 2-4-13.asp asp简单程序% dim a,b,ca = October 19, 1962 定义日期,October(十月) response.write CDate(a) 转换为日期数据类型。response.write b=4:35:47 PM 定义时间。response.write CDate(b) 转换为日期数据类型。response.write c=5.65 定义数字。response.write CDate(c) 转换为
15、日期数据类型。% 4 转换为数字CInt(expression)转换为整数CLng(expression)转换为长整数 (注:Int和Fix函数也能将小数转换为整数)CByte(expression)转换为Byte类型 (包含 0 到 255 之间的整数。)CSng(expression)转换为Single类型 (包含单精度浮点数)CDbl(expression)转换为Double 类型 (包含双精度浮点数)CCur(expression)转换为Currency类型 (-922,337,203,685,477.5808 到 922,337,203,685,477.5807。)示例 2-4-14
16、.asp asp简单程序% dim aCInt和CLng函数总是四舍五入response.write CInt(2345.4578)输出2345response.write response.write CLng(2345.5678)输出2346response.write % 三、数学函数下面是一些常用的数学函数1 abs(number)返回数字的绝对值。2 sqr(number)返回数值的平方根。3 sin(number)返回某个角的正弦值。4 cos(number)返回某个角的余弦值。5 tan(number)返回某个角的正切值。6 atn(number) 返回数值的反正切值。7 log
17、(number)返回数值的自然对数。8 int(number)返回数字的整数部分,对于负数注意,-8.4转为-9。 Fix(number)返回数字的整数部分,对于负数注意,-8.4转为-8。9 rnd()返回一个小于 1 但大于或等于 0 的值。rnd函数在使用中可以用语句Randomize进行初始化;10 ubound(数组名,数组维数)返回数组的最大下标数11 formatnumber(带有小数的数字,要保留的小数点位数)示例 2-4-15.asp asp简单程序% dim aa=-3.删除小数点的函数,对于负数有所区别;response.write int(a) 显示-4response
18、.write response.write fix(a) 显示-3response.write 保留小数点的位数试验,保留两位小数点response.write formatnumber(a,2) 显示-3.14%示例 2-4-16.asp asp简单程序% 随机函数rnd在页面加载时会产生一个小于1大于或等于0的值response.write rnd()response.write 在刷新页面时要产生新的随机数,就得进行初始化Randomize 这个函数能够初始化位于它下面的rndresponse.write rnd()response.write 页面刷新时产生一个120之间的随机整数re
19、sponse.write int(20*rnd()+1)% 注意:要产生指定范围的随机整数,请使用以下公式:Int(upperbound - lowerbound + 1) * Rnd + lowerbound)这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。示例: 2-4-16a.asp四、字符串函数VBscript包括大量用于操作字符串的函数。当你需要操作来自HTML表单或数据库的数据时,你会发现这些函数非常有用。你可以用这些函数来拼接字符串,抽取字符串,搜索字符串,和比较字符串。1、连接字符串符号及函数(1)连接字符串符号用连接运算符(&)可以把
20、短的字符串拼接为长的字符串,请看下面的示例示例 2-4-17.asp 你也可以用加号(+)来连接字符串。但是,我们不推荐使用这种方法。它与&运算符不同,“+”运算符并不保证返回一个字符串。请看下面的例子: 示例 2-4-18.asp 示例 2-4-19.asp 示例解读: 第一个示例返回“我今天学了5条语句”。测试第二个示例将返回 错误类型:Microsoft VBScript 运行时错误 (0x800A000D)类型不匹配: string: 我今天上午/ASP教程/d2/VBsl/2-4-19.asp, 第 4 行因为这个语句实际上会试图将myvar的值加到字符串表达式上。说明使用(+)连接
21、符时,有时候会出错。 如果你有一个字符数组,你还可以用函数JOIN()连接数组中所有的字符串。(2)字符串连接函数 Join(list,delimiter)说明:返回一个字符串,此字符串由包含在数组中的许多子字符串连接创建。参数 list 必选项。包含要连接的子字符串一维数组。 Delimiter 可选项。在返回字符串中用于分隔子字符串的字符。如果省略,将使用空字符 ()。如果 delimiter 是零长度字符串,则在同一列表中列出全部项,没有分界符。 示例 2-4-20. asp%dim myarray(3)myarray(0)=垃圾邮件占用大量网络资源,myarray(1)=并常常成为网络
22、病毒传播的工具, myarray(2)=威胁互联网信息安全,myarray(3)=侵害了电子邮件用户的合法权益。response.write JOIN(myarray)response.write response.write JOIN(myarray,/)%注意:myarray必须是一个一维数组(一个列表)。2、字符串去空格函数Trim(string) 将字符串前面和后面的空格去掉。 RTrim(string),将字符串右边的空格去掉。 LTrim(string), 将字符串左边的空格去掉。 示例 2-4-22.asp% dim a,b a= Vbscript b= 你好 response.
23、write b&+&aresponse.write response.write Trim(b)&+&Trim(a)显示时,去掉字符串两边的空格。response.write response.write RTrim(b)&+&RTrim(a)显示时,去掉字符串右边的空格。response.write response.write LTrim(b)&+<rim(a)显示时,去掉字符串左边的空格。%3、字符串长度获取函数 (1) len(string)返回字符串内字符的数目。 (2) Left(string, length) 返回从字符串的左边算起的字符。 (3) Right(string,
24、 length)返回从字符串的右边算起的字符。 (4) Mid(string,start,length)返回字符串中指定数目的字符。 参数: string给定字符串 start指定开始位置,如果 start 超过了 string 中字符的数目,Mid 将返回零长度字符串 ()。 length指定返回的数目,如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到字符串结束的所有字符。 示例 2-4-23.asp% dim aa=Vbscript,Javascript字符串中一共有多少字符response.write len(a) 显示19res
25、ponse.write 从左边算起指定一个位置,返回从开始到该位置的字符response.write Left(a,8)显示Vbscriptresponse.write response.write right(a,10) 显示Javascriptresponse.write 我想返回中间的script,Javaresponse.write Mid(a,3,11)% 4、字符串分割函数Split(expression, delimiter, count, start) 说明:返回基于 0 的一维数组,其中包含指定数目的子字符串。也就是说它把一个字符串分割成多个部分。分割操作的结果被放在一个数组
26、中。 参数 expression 必选项。字符串表达式,包含子字符串和分隔符。如果 expression 为零长度字符串,Split 返回空数组,即不包含元素和数据的数组。 delimiter 可选项。用于标识子字符串界限的字符。如果省略,使用空格 () 作为分隔符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。 count 可选项。被返回的子字符串数目,-1 指示返回所有子字符串。 示例 2-4-24.asp% dim mystring, myarraymystring= VBScriptXisXfun!myarray=Split(mys
27、tring,X )以“X”为分界符分割字符串response.write myarray(0)&response.write myarray(1)&response.write myarray(2)&response.write JOIN(myarray)% 缺省情况下,函数SPLIT()通过在空格处截断来分割一个字符串。然而,你可以为该函数提供第二个参数,根据其他的字符来分割字符串。缺省情况下,该函数能把一个字符串分割成多少部分,就分割成多少部分。但是你可以提供第三个参数来限制该函数返回的子字符串的数目。下面的这个例子使用了这两个附加参数:在这个例子中,字符串被分割成两个。逗号左边的子字符串
28、被保存在数组的第一个元素中;逗号右边的子字符串被保存在数组的第二个元素中。5、字符串过滤函数 Filter(InputStrings, Value, Include, Compare) 说明:返回下标从零开始的数组,其中包含以特定过滤条件为基础的字符串数组的子集。参数: InputStrings 必选项。一维数组,要在其中搜索字符串。 Value 必选项。要搜索的字符串。 Include 可选项。Boolean 值,指定返回的子字符串是否包含 Value。如果 Include 为 True,Filter 将返回包含子字符串 Value 的数组子集。如果 Include 为 False,Filt
29、er 将返回不包含子字符串 Value 的数组子集。 Compare 可选项。数字值指出使用的比较字符串类型。 函数FILTER()可以过滤一个数组。假定你想从一个句子中过滤掉不包含字母t的每一个词。用函数FILTER(),请看下面的试例:示例 2-4-25.asp %dim mystr,myarraymystr=Once upon a time,there were three bears.myarray=SPLIT(mystr)把字符串分割为数组,默认情况下以空格为分割符myarray=FILTER(myarray,t)函数FILTER()过滤掉所有不匹配字符串”t”的数组元素。respo
30、nse.write JOIN(myarray)&把过滤后的字符串连接起来%如果你想从一个句子中过滤掉包含字母t的每一个词,那么就在函数Filter()中加入参数false。如下所示:示例 2-4-26.asp 6、字符串替换函数Replace(expression, find, replacewith)返回字符串,其中指定数目的某子字符串find被替换为另一个子字符串replacewith;示例 2-4-27.asp 7、返回字符位置InStr(string1,string2)返回string2字符串在string1字符串中第一次出现的位置;示例 2-4-28.asp% dim a,b,ca=
31、Vbscriptb=Vbscriptc=Vbscript返回第一次出现的位置,如果返回0表示不存在response.write InStr(a,)&response.write InStr(b,)&response.write InStr(c,)% 8、字符串比较函数StrComp(string1,string2)对string1和string2进行二进制比较,如果string1 小于 string2 返回 -1 如果string1 等于 string2 返回 0 如果string1 大于 string2 返回 1 如果string1 或 string2 为 Null 返回 Null 示例 2
32、-4-29.asp% dim a,b,ca=Vbscriptb=Vbscriptc=Javascript如果a与b相等,则返回0response.write StrComp(a,b)response.write 如果a大于c则返回1,反之返回-1response.write StrComp(a,c)response.write response.write StrComp(c,a)% 示例 2-4-30.asp %dim a,b给定密码a=再次输入密码bb=if StrComp(a,b)0 thenresponse.write 你输入的密码不正确 end if% 示例解读函数StrComp进行
33、二进制比较,是一种严格比较,例如:比较a与a则相等,而a与A检查结果会不相等。五、检验函数1 IsNumeric(expression)检验表达式expression的值是否为数字,如果为数字,函数返回 True;否则函数返回 False;2 IsDate(expression)如果表达式expression是日期或时间类型,则 IsDate 函数返回 True;否则函数返回 False3 IsNull(expression)如果expression为Null,则IsNull函数返回 True,即表达式不包含有效数据,否则 IsNull 返回 False。如果 expression由多个变量组
34、成,则表达式的任何组成变量中的 Null 都会使整个表达式返回 True。Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 () 也不同,零长度字符串往往指的是空串。 4 IsEmpty(expression)IsEmpty 用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为 Empty,则函数 IsEmpty 返回 True;否则函数返回 False。如果 expression 包含一个以上的变量,总返回 False。5 IsObject(expression)检查表达式expression的值,如果expression是对象类型,函数返回True6 IsArray(expression)如果expression是数组类型,函数返回True7 VarType(varname)检查变量varname的值,返回一些数字,不同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法律信托贷款合同范文
- 2025中国邮政集团限公司云南省分公司招聘215人高频重点提升(共500题)附带答案详解
- 2025中国能源建设集团广东火电工程限公司春季校园招聘高频重点提升(共500题)附带答案详解
- 无心磨床行业相关投资计划提议
- 2025中国国际工程咨询限公司总部社招高频重点提升(共500题)附带答案详解
- 2025下半年陕西省省属事业单位联考招聘377高频重点提升(共500题)附带答案详解
- 2025下半年湖北襄阳宜城市事业单位招聘工作人员17人高频重点提升(共500题)附带答案详解
- 2025下半年江苏响水县事业单位招聘工作人员拟聘用人员历年高频重点提升(共500题)附带答案详解
- 2025下半年广东广州增城区派潭镇招聘政府聘员42人高频重点提升(共500题)附带答案详解
- 2025下半年安徽合肥国际内陆港发展限公司社会招聘12人高频重点提升(共500题)附带答案详解
- 鸟类的迁徙与繁殖方式教学教案
- 公司转让债权股东会决议
- 楼宇消防安全培训课件
- 水稻田稻鸭共栖技术要点
- 物资设备管理系统需求方案
- 肺功能科室工作报告
- 江苏省南通市通州区2022-2023学年高一上学期期末考试化学试题(含答案)
- 汽车涂装工艺设计与涂装控制系统
- 医学装备部利用PDCA循环降低医用输液泵故障发生率品管圈QCC成果汇报
- 湖南省祁阳市2022-2023学年九年级上学期期末历史试题(含答案)
- 学校最小应急单元应急预案
评论
0/150
提交评论