[设为首页] [加入收藏]    
提 示: 站长书库上线了。 站长招聘上人才沃
站长首页  |  站长下载  |  站长工具
站长素材  |  广告代码  |  网页特效
站长书库  |  站长招聘  |  建站软件
  您当前的位置: 首页 > 网络编程 > ASP教程 >
下一篇:流程控制 上一篇:Vbscript语法基础
Vbscript内置函数

函数是可以向其传递参数并能够返回值的可重复使用的代码块,在Vbscript中内置了许多函数,方便我们使用。

第一节、时间和日期函数

在Vbscript中可以使用时间和日期函数,返回系统的日期和时间。

1、Now 函数

格式:Now()

说明:返回当前的日期和时间值。

示例 sl3-1.asp

<html>
<head>
<title>时间日期</title>
</head>
<body>
<% response.write Now %>
<br>
<% response.write Now() %>
</body>
</html>

示例解读:

在编程语言中函数的一个特点是后面带有圆括号,一般来说定义和调用函数这个圆括号都不能省略,但在Vbscript中调用函数时可以省略圆括号,如本例中的Now和Now()返回结果是一样的。

2、Date 函数

格式:Date()

说明:Date函数返回当前系统日期。

示例 sl3-2.asp

<html>
<head>
<title>时间日期</title>
</head>
<body>
<% response.write Date() %>
<br>
<% response.write Date %>
</body>
</html>

3、Time 函数

格式:Time()

说明:Time 函数返回当前系统时间:

示例 sl3-3.asp

<html>
<head>
<title>时间日期</title>
</head>
<body>
<% response.write Now %>
<br>
<% response.write Date %>
<br>
<% response.write Time %>
</body>
</html>

4、Month 函数

格式:Month(date)

参数: date为任意日期表达式。

说明:返回当前月。

Month函数和year年,day日,hour时,minute分,second秒是类似的,这些函数会将参数给定的值,转换为相应的年,月,日,时分,秒。

示例 sl3-4.asp

<html>
<head>
<title>时间日期</title>
</head>
<body>
<%
response.write Month(date) '返回今天是那个月
response.write "<br>"
response.write Month(Now) '返回今天是那个月
response.write "<br>"
response.write Month(#2004-12-25#) '返回给定日期的月份
response.write "<br>"
response.write year(Now) ''返回当前是那一年
response.write "<br>"
response.write day(Now) '返回当前是那一日
response.write "<br>"
response.write hour(Now) '返回当前的时
response.write "<br>"
response.write minute(Now) '返回当前的分
%>
</body>
</html>

5、Weekday 函数

格式:Weekday(date, [firstdayofweek])

参数:

date:

可以代表日期的任意表达式。

Firstdayofweek:

可选,用来指定一周的第一天的常数。默认值周日为1。

示例 sl3-5.asp

<html>
<head>
<title>时间日期</title>
</head>
<body>
<%
response.write Weekday(date)-1 '返回当前日期是周几
response.write "<br>"
response.write Weekday(#2005-12-23#)-1 '返回指定日期是周几
%>
</body>
</html>

6、DateDiff 函数

格式:DateDiff(interval, date1, date2)

参数:

interval 指定date1和date2之间的时间间隔。取值如下所示:年yyyy,月m,日d,时h,分m,秒s,周ww。

date1, date2 日期表达式。用于计算的两个日期。

说明:返回两个日期之间的时间间隔。

示例 sl3-6.asp

<html>
<head>
<title>asp简单程序</title>
</head>
<body>
<%
dim m,d1,d2
'返回从05年2月至今日有几个月
m=datediff("m",#2005/2/1#,Date)
'返回从05年2月至今日有几天
d1=datediff("d",#2005-2-1#,Date)
'返回现在到2005年1月1日有多少天
d2=datediff("d",Date,#2005-1-1#)
response.write m
response.write "<br>"
response.write d1
response.write "<br>"
response.write d2
%>
</body>
</html>

第二节、转换函数

在Vbscript中,表达式中的变量一般会根据情况进行自动转换,但是有的时候这种转换会造成类型不匹配,这时就需要使用转换函数进行转换。转换函数常用的有以下几个。

1、转换为字符串类型

CStr(expression)

将表达式expression转换为字符串

示例 sl3-7.asp

<html>
<head>
<title>asp简单程序</title>
</head>
<body>
<%
dim a,b,c
'下面定义两个数字类型的数据
a=10
b=20
‘使用CStr函数把数字转换为字符串后相加
c=CStr(a)+CStr(b)
response.write c '输出1020
%>
</body>
</html>

2、转换为日期类型

CDate(date)

参数date可以是日期或时间类型的数据,也可以是数字,数字的整数部分被转换为日期,分数部分被转换为从午夜开始计算的时间。转换函数CDate()根据系统的区域设置转换为相应的日期格式。

示例 sl3-8.asp

<html>
<head>
<title>asp简单程序</title>
</head>
<body>
<%
dim a,b,c
a = "October 19, 1962" ' 定义日期,October(十月)
response.write CDate(a) ' 转换为日期数据类型。
response.write "<br>"

b="4:35:47 PM" ' 定义时间。
response.write CDate(b) ' 转换为日期数据类型。
response.write "<br>"

c=5.65 ' 定义数字。
response.write CDate(c) ' 转换为日期数据类型。
%>
</body>
</html>

4、转换为数字

CInt(expression)转换为整数

CLng(expression)转换为长整数

(注:Int和Fix函数也能将小数转换为整数)

CByte(expression)转换为Byte类型

CSng(expression)转换为Single类型

CDbl(expression)转换为Double 类型

CCur(expression)转换为Currency类型

示例 sl3-9.asp

<html>
<head>
<title>asp简单程序</title>
</head>
<body>
<%
dim a
'CInt和CLng函数总是四舍五入
response.write CInt(2345.5678)'输出2346
response.write "<br>"
response.write CLng("2345.5678")'输出2346
response.write "<br>"
%>
</body>
</html>

第三节、数学函数

下面是一些常用的数学函数

1 abs(number)返回数字的绝对值。

2 sqr(number)返回数值的平方根。

3 sin(number)返回某个角的正弦值。

4 cos(number)返回某个角的余弦值。

5 tan(number)返回某个角的正切值。

6 atn(number) 返回数值的反正切值。

7 log(number)返回数值的自然对数。

8 int(number)返回数字的整数部分,对于负数注意,-8.4转为-9。

Fix(number)返回数字的整数部分,对于负数注意,-8.4转为-8。

9 rnd()返回一个小于 1 但大于或等于 0 的值。rnd函数在使用中可以用语句Randomize进行初始化;

10 ubound(数组名,数组维数)返回数组的最大下标数

11 formatnumber(带有小数的数字,要保留的小数点位数)

示例 sl3-10.asp

<html>
<head>
<title>asp简单程序</title>
</head>
<body>
<%
dim a
a=-3.141592
'删除小数点的函数,对于负数有所区别;
response.write int(a) '显示-4
response.write "<br>"
response.write fix(a) '显示-3
response.write "<br>"
'保留小数点的位数试验,保留两位小数点
response.write formatnumber(a,2) '显示-3.14
%>
</body>
</html>

示例 sl3-11.asp

<html>
<head>
<title>asp简单程序</title>
</head>
<body>
<%
'随机函数rnd在页面加载时会产生一个小于1大于或等于0的值
response.write rnd()
response.write "<br>"
'在刷新页面时要产生新的随机数,就得进行初始化
Randomize '这个函数能够初始化位于它下面的rnd
response.write rnd()
response.write "<br>"
'页面刷新时产生一个1-20之间的随机整数
response.write int((20*rnd())+1)
%>
</body>
</html>

第四节、字符串函数

1、转换为字符串

CStr(expression) 返回表达式,该表达式已被转换为 String 子类型的 Variant。

2、字符串去空格函数

Trim(string) 将字符串前面和后面的空格去掉

示例 sl3-12.asp

<%
dim a
a=" Vbscript "
response.write a
response.write "<br>"
response.write Trim(a)'显示时,去掉字符串两边的空格。
%>
 

3 字符串长度获取函数

(1) len(string)返回字符串内字符的数目。

(2) Left(string, length) 返回从字符串的左边算起的字符。

(3) Right(string, length)返回从字符串的右边算起的字符。

(4) Mid(string,start,ength)

参数:

string给定字符串

start指定开始位置

ength指定返回的数目

示例 sl3-13.asp

<%
dim a
a="Vbscript,Javascript"
'字符串中一共有多少字符
response.write len(a) '显示19
response.write "<br>"
'从左边算起指定一个位置,返回从开始到该位置的字符
response.write Left(a,8)'显示Vbscript
response.write "<br>"
'我想返回中间的"script,Java"
response.write Mid(a,3,11)
%>
 

4 字符串比较函数

StrComp(string1,string2)对string1和string2进行二进制比较,

如果string1 小于 string2 返回 -1

如果string1 等于 string2 返回 0

如果string1 大于 string2 返回 1

如果string1 或 string2 为 Null 返回 Null

示例 sl3-14.asp

<%
dim a,b,c
a="Vbscript"
b="Vbscript"
c="Javascript"
'如果a与b相等,则返回0
response.write StrComp(a,b)
response.write "<br>"
'如果a大于c则返回1,反之返回-1
response.write StrComp(a,c)
response.write "<br>"
response.write StrComp(c,a)
%>
 

5 字符串替换函数

Replace(expression, find, replacewith)返回字符串,其中指定数目的某子字符串find被替换为另一个子字符串replacewith;

示例 sl3-15.asp

<%
'用Java替换Vb
response.write replace("Vbscript","Vb","Java")
%>
 

6 字符串拆分函数

Split(string,delimiter)将字符串string拆分成一维数组,包含其子字符串和分隔符,delimiter是可选的,是用于标识子字符串界限的字符,如果省略,使用空格 (" ") 作为分隔符;

示例 sl3-16.asp

<%
dim myarray
'以"@"为分界符进行拆分
myarray=split("Vb@scr@ipt@Java", "@")
response.write myarray(0)&"<p>"
response.write myarray(1)&"<p>"
response.write myarray(2)&"<p>"
response.write myarray(3)
%>
 

7 返回字符位置

InStr(string1,string2)返回string1字符串在string2字符串中第一次出现的位置;

示例 sl3-17.asp

<%
dim a,b,c
a="@Vbscript"
b="Vbscr@ip@t"
c="Vbscript"
'返回@第一次出现的位置,如果返回0表示不存在
response.write InStr(a,"@")&"<p>"
response.write InStr(b,"@")&"<p>"
response.write InStr(c,"@")
%>
 

第五节 检验函数

1 IsNumeric(expression)

检验表达式expression的值是否为数字,如果为数字,函数返回 True;否则函数

返回 False;

2 IsDate(expression)

如果表达式expression是日期或时间类型,则 IsDate 函数返回 True;否则函数返回 False

3 IsNull(expression)

如果expression为Null,则IsNull函数返回 True,即表达式不包含有效数据,否则 IsNull 返回 False。如果 expression由多个变量组成,则表达式的任何组成变量中的 Null 都会使整个表达式返回 True。Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 ("") 也不同,零长度字符串往往指的是空串。

4 IsEmpty(expression)

IsEmpty 用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为 Empty,则函数 IsEmpty 返回 True;否则函数返回 False。如果 expression 包含一个以上的变量,总返回 False。

5 IsObject(expression)

检查表达式expression的值,如果expression是对象类型,函数返回True

6 IsArray(expression)如果expression是数组类型,函数返回True

7 VarType(varname)

检查变量varname的值,返回一些数字,不同的数字有不同的含义

常数 描述
vbEmpty 0 Empty(未初始化)
vbNull 1 Null(无有效数据)
vbInteger  2 整数
vbLong 3 长整数
vbSingle 4 单精度浮点数
vbDouble 5 双精度浮点数
vbCurrency 6 货币
vbDate 7 日期
vbString 8 字符串
vbObject 9 Automation 对象
vbError 10 错误
vbBoolean 11 Boolean
vbVariant 12 Variant(只和变量数组一起使用)
vbDataObject 13 数据访问对象
vbByte 17 字节
vbArray 8192  数组

    关于我们 - 联系我们 - 广告服务 - 网站地图 - 版权声明 - 人才招聘