WEB开发技术 第二章
2.3 VBS重要函数
From,吴教育
Email,wujiaoyu@21cn.com
Q Q,188128997
课程引入与回顾
? Vbscript的基本语法
? 条件语句
? 循环语句
? VBScript 过程
目标
? 掌握 Vbscript常见函数的用法,包括:
– 转换函数
– 输入 /输出函数
– 字符串函数(重点)
– 日期与时间函数
– 常用数学函数
– 检验函数
转换函数
? 在使用过程中,Variant变量一般会根据需
要自动转换成合适的数据类型;但有时,
自动转换有可能造成数据类型不匹配错误
。此时,就应使用 VBScript的转换函数来强
制转换数据的子类型。
<%
Num=1000
StrWelcom=“欢迎第” &CStr(Num)&”个来访者,
%>
转换函数 (续 )
函 数 功 能
CStr(Variant) 将变量 Variant转换为字符串类型
CDate(Variant) 将变量 Variant转换为日期类型
CInt(Variant) 将变量 Variant转换为整数类型
CLng(Variant) 将变量 Variant转换为长整数类型
CSng(Variant) 将变量 Variant转换为 Single类型
CDbl(Variant) 将变量 Variant转换为 Double类型
CBool(Variant) 将变量 Variant转换为布尔类型
Asc 函数示例
? 下面例子中,Asc 返回每一个字符串首字母
的 ANSI 字符代码,
– Dim MyNumber
– MyNumber = Asc(“A”)?返回 65。
– MyNumber = Asc(“a”)?返回 97。
– MyNumber = Asc("Apple") '返回 65。
Chr 函数示例
? 下面例子利用 Chr 函数返回与指定的字符
代码相对应的字符,
– Dim MyChar
– MyChar = Chr(65) '返回 A。
– MyChar = Chr(97) '返回 a。
– MyChar = Chr(62)?返回 >。
– MyChar = Chr(37) '返回 %。
CStr 函数示例
? CStr将变量 num1由整数子类型强制转换为
字符串子类型
– <%
– num1=666
– StrWelcome=“欢迎第, &CStr(num1)&“个来访
者,
– %>
CDate 函数示例
– MyDate =,October 19,1962” ? 定义日期。
– MyShortDate = CDate(MyDate) ? 转换为日期
数据类型。
– MyTime =,4:35:47 PM” ? 定义时间。
– MyShortTime = CDate(MyTime) ' 转换为日期
数据类型。
CInt 函数示例
– Dim MyDouble,MyInt
– MyDouble = 2345.5678 ' MyDouble 是 Double。
– MyInt = CInt(MyDouble) ' MyInt 包含 2346。
CLng 函数示例
– Dim MyVal1,MyVal2,MyLong1,MyLong2
– MyVal1 = 25427.45 ' MyVal1 是双精度值。
– MyVal2 = 25427.55 ? MyVal2 是双精度值。
– MyLong1 = CLng(MyVal1) ' MyLong1 25427。
– MyLong2 =CLng(MyVal2) ' MyLong2 包含 25428 。
CBool 函数示例
– Dim A,B,Check
– A = 5,B = 5 ? 初始化变量。
– Check = CBool(A = B) '复选框设为 True 。
– A = 0 ?定义变量。
– Check = CBool(A) '复选框设为 False 。
输入 /输出函数
? 输入、输出函数只能在客户端运行,不能
在服务器端运行,因为它们要在客户端弹
出窗口。
? 输入、输出函数作用很大,因为信息验证
类事务如放在客户端进行,既能减轻服务
器负担,有能提高执行效率。
输入 /输出函数 (续 1)
? 输出函数
MsgBox(prompt[,button][,title])
prompt:显示窗口中的提示信息
button,指定窗口外观和按钮类型
title,显示窗口标题中的文字
说明,[…] 中为可选项
输入 /输出函数 (续 2)
? 输入函数
String=InputBox(prompt [,title][,default])
String:用户输入的内容
prompt:显示窗口中的提示信息
title:显示窗口标题中的文字
default:指定窗口中的文本输入框内的默认字
符串,即默认输入内容
说明,[…] 中为可选项
输入 /输出函数举例
<html>
<head>
<title>InputBox和 MsgBox用法示例 </title>
</head>
<body>
<script language="VBScript">
Option Explicit '强制要求变量必须声明
Dim Name1,Name2 '声明变量
Name1=InputBox("金庸小说中你最喜欢的人物第一是 ","输入名称 ")
Name2=InputBox("金庸小说中你最喜欢的人物第二是 ","输入名称 ")
MsgBox Name1 &,和, & Name2 &,是金庸小说中你最喜欢的两个人
物,
</script>
</body>
</html>
字符串函数
? 字符串用途广泛,如用户注册时输
入的用户名、密码等信息,留言板
中的留言标题、内容、留言人等信
息,都是作为字符串处理的。
<%
user_name=Ucase(“Zhu rongji”)
StrTemp=Mid(“He is a good prime minister”,9,4)
%>
常见字符串操作函数
函 数 功 能
Len(string) 返回字符串 string里的字符个数
Trim(string) 将字符串 string的前后空格去掉
Mid(string,start[,length]) 从 string的第 start个字符开始截取长度为
length的子字符串;如省略参数 length,则
从 start开始截取到 string的最后一个字符
Left(string,length) 从 string的左边截取长度为 length的子字符串
Right(string,length) 从 string的右边截取长度为 length的子字符串
LCase(string) 将 string里的所有大写字母转换为小写字母
UCase(string) 将 string里的所有小写字母转换为大写字母
StrComp(str1,str2) 返回 str1和 str2的比较结果,同,则为 0;大,
为 1;小为,-1
Len 函数与 LTrim,RTrim,和 Trim 函数
? 下面的示例利用 Len 函数返回字符串中的字符数目:
– Dim MyString
– MyString = Len(“VBSCRIPT”)?MyString 包含 8。
? 下面的示例利用 LTrim,RTrim,和 Trim 函数分别用
来除去字符串开始的空格、尾部空格,开始和尾部
空格:
– Dim MyVar
– MyVar = LTrim(" vbscript ") 'MyVar 包含 "vbscript "。
– MyVar = RTrim(" vbscript ") 'MyVar 包含 " vbscript"。
– MyVar = Trim(" vbscript ") 'MyVar 包含 "vbscript"。
Mid 函数与 Left 函数
? 下面的示例利用 Mid 函数返回字符串中从第四个
字符开始的六个字符:
– Dim MyVar
– MyVar = Mid("VB脚本 is fun!",4,6) 'MyVar 包含
"Script"。
? 下面的示例利用 Left 函数返回 MyString 的左边三
个字母:
– Dim MyString,LeftString
– MyString = "VBSCript"
– LeftString = Left(MyString,3) 'LeftString 包含 "VBS
Right 函数
? 下面的示例利用 Right 函数从字符串右边
返回指定数目的字符:
– Dim AnyString,MyStr
– AnyString =,Hello World”?定义字符串。
– MyStr = Right(AnyString,1) '返回 "d"。
– MyStr = Right(AnyString,6) ' 返回 " World"。
– MyStr = Right(AnyString,20) ' 返回 "Hello
World"。
StrComp 函数
? 下面的示例利用 StrComp 函数返回字符串比较
的结果。如果第三个参数为 1 执行文本比较;如
果第三个参数为 0 或者省略执行二进制比较。
– Dim MyStr1,MyStr2,MyComp
– MyStr1 = "ABCD“
– MyStr2 =,abcd”?定义变量。
– MyComp = StrComp(MyStr1,MyStr2,1) ? 返回 0。
– MyComp = StrComp(MyStr1,MyStr2,0) ? 返回 -1。
– MyComp = StrComp(MyStr2,MyStr1) ' 返回 1。
InStr示例
? 下面的示例利用 InStr 搜索字符串:
– Dim SearchString,SearchChar,MyPos
– SearchString ="XXpXXpXXPXXP"
– SearchChar = "P"
– MyPos = Instr(SearchString,SearchChar)
‘ 返回 9,
– 注意:返回的不是一个字符串在另一个字符串
中第一次出现的字符位置,而是字节位置。
Split函数示例
– Dim MyString,MyArray,Msg
–MyString = "VBScriptXisXfun!“
– MyArray = Split(MyString,"x",-1,1)
' MyArray(0) contains "VBScript".
' MyArray(1) contains "is".
' MyArray(2) contains "fun!".
– Response.Write(MyArray(0))
Replace函数示例
? Replace("ABCD","BC","12") '得到 A12D
日期与时间函数
? 在 VBScript中,可以用日期和时间函
数得到各种格式的日期和时间,如留
言板里经常用 Date()来记载留言日期。
? 常用日期和时间函数如下表:
常用日期与时间函数
函 数 功 能
Now() 取得系统当前日期和时间
Date() 取得系统当前日期
Time() 取得系统当前时间
Month(Date) 取得给定日期的月份
Day(Date) 取得给定日期是几号
WeekDay(Date) 取得给定日期是星期几
Year(Date) 取得给定日期的年份
常用日期与时间函数(续)
函 数 功 能
DateDiff(“Var”,Var1,Var2) 计算日期或时间 Var1与 Var2的间隔
,Var”:为时间间隔因子
DateAdd(“Var”,Var1,Var2)
Var1:日期或时间间隔倍数
Var2:日期或时间的基准
对时间 /日期 Var2作加法
FormatDateTime(Date,vbShortDat
e)
显示短日期格式
FormatDateTime(Date,vbLongDat
e)
显示长日期格式
FormatDateTime(Date,vbShortTim
e)
显示短时间格式
FormatDateTime(Date,vbLongTim
e)
显示长时间格式
日期与时间间隔因子
间隔因子 yyyy m d ww h s
说明 年 月 日 星期 小时 秒
日期与时间函数示例
? <% Option Explicit '放在程序首行,强制变量声明 %>
<html>
<head>
<title>日期和时间函数的用法示例 </title>
</head>
<body>
<%
Dim Output1,Output2,Output3 '声明变量
Output1="日期,"&Date()
Output2="时间,"&Time()
Output3="日期与时间,"&Now()
%>
<%=Output1%><br>
<%=Output2%><br>
<%=Output3%><br>
</body>
</html>
常用数学函数
函 数 功 能
Abs(number) 返回一个数的绝对值
Sqr(number) 返回一个数的平方根
Int(number) 取 number的最大整数部分
Cos(number)
Sin(number)
Log(number)
Tan(number)
Rnd(number) 返回一个随机数
检验函数
函 数 功 能
VarType(Variant) 返回变量 Variant的数据子类型
IsEmpty(Variant) 检查变量 Variant是否为 Empty
IsNull(Variant) 检查变量 Variant是否为 Null
IsObject(Variant) 检查变量 Variant是否为对象类型
IsNumberic(Variant) 检查变量 Variant是否为数值类型
IsArray(Variant) 检查变量 Variant是否为数组类型
IsDate(Variant) 检查变量 Variant是否为日期类型
检验函数示例
<%
varTemp=“ASP”
If IsNumberic(varTemp) Then
Response.Write,是数值类型”
Else
Response.Write,不是数值类型”
End If
%>
参考资料
? <<ASP动态网站编程 >> 石志国 清华大学出版社
? <<ASP精解案例教程 >> 石志国 清华大学出版社
? <<ASP网络编程技术与实例 >> 胡标 人民邮电出版社
? <<网络程序设计 -ASP>> 尚俊杰 清华大学出版社
总结
? 转换函数用法
? 输入 /输出函数用法
? 字符串函数用法
? 日期与时间函数用法
? 常用数学函数用法
? 检验函数用法
习题与作业
1,请判断下列语句执行完毕后, a,b,c的值 ( )
<%
a="2" + 2
b="2" + "2"
c="2" & "2"
%>
(A)"22","22","22" (B) 4,"22","22" (C) "22",4,"22" (D) "22","22",4
2,下面 a=Trim(" vbscript") & Ltrim(" good") 语句后, a的值,( )
(A) " vbscript good"
(B) "vbscript good"
(C) " vbscriptgood"
(D) "vbscriptgood"
2.3 VBS重要函数
From,吴教育
Email,wujiaoyu@21cn.com
Q Q,188128997
课程引入与回顾
? Vbscript的基本语法
? 条件语句
? 循环语句
? VBScript 过程
目标
? 掌握 Vbscript常见函数的用法,包括:
– 转换函数
– 输入 /输出函数
– 字符串函数(重点)
– 日期与时间函数
– 常用数学函数
– 检验函数
转换函数
? 在使用过程中,Variant变量一般会根据需
要自动转换成合适的数据类型;但有时,
自动转换有可能造成数据类型不匹配错误
。此时,就应使用 VBScript的转换函数来强
制转换数据的子类型。
<%
Num=1000
StrWelcom=“欢迎第” &CStr(Num)&”个来访者,
%>
转换函数 (续 )
函 数 功 能
CStr(Variant) 将变量 Variant转换为字符串类型
CDate(Variant) 将变量 Variant转换为日期类型
CInt(Variant) 将变量 Variant转换为整数类型
CLng(Variant) 将变量 Variant转换为长整数类型
CSng(Variant) 将变量 Variant转换为 Single类型
CDbl(Variant) 将变量 Variant转换为 Double类型
CBool(Variant) 将变量 Variant转换为布尔类型
Asc 函数示例
? 下面例子中,Asc 返回每一个字符串首字母
的 ANSI 字符代码,
– Dim MyNumber
– MyNumber = Asc(“A”)?返回 65。
– MyNumber = Asc(“a”)?返回 97。
– MyNumber = Asc("Apple") '返回 65。
Chr 函数示例
? 下面例子利用 Chr 函数返回与指定的字符
代码相对应的字符,
– Dim MyChar
– MyChar = Chr(65) '返回 A。
– MyChar = Chr(97) '返回 a。
– MyChar = Chr(62)?返回 >。
– MyChar = Chr(37) '返回 %。
CStr 函数示例
? CStr将变量 num1由整数子类型强制转换为
字符串子类型
– <%
– num1=666
– StrWelcome=“欢迎第, &CStr(num1)&“个来访
者,
– %>
CDate 函数示例
– MyDate =,October 19,1962” ? 定义日期。
– MyShortDate = CDate(MyDate) ? 转换为日期
数据类型。
– MyTime =,4:35:47 PM” ? 定义时间。
– MyShortTime = CDate(MyTime) ' 转换为日期
数据类型。
CInt 函数示例
– Dim MyDouble,MyInt
– MyDouble = 2345.5678 ' MyDouble 是 Double。
– MyInt = CInt(MyDouble) ' MyInt 包含 2346。
CLng 函数示例
– Dim MyVal1,MyVal2,MyLong1,MyLong2
– MyVal1 = 25427.45 ' MyVal1 是双精度值。
– MyVal2 = 25427.55 ? MyVal2 是双精度值。
– MyLong1 = CLng(MyVal1) ' MyLong1 25427。
– MyLong2 =CLng(MyVal2) ' MyLong2 包含 25428 。
CBool 函数示例
– Dim A,B,Check
– A = 5,B = 5 ? 初始化变量。
– Check = CBool(A = B) '复选框设为 True 。
– A = 0 ?定义变量。
– Check = CBool(A) '复选框设为 False 。
输入 /输出函数
? 输入、输出函数只能在客户端运行,不能
在服务器端运行,因为它们要在客户端弹
出窗口。
? 输入、输出函数作用很大,因为信息验证
类事务如放在客户端进行,既能减轻服务
器负担,有能提高执行效率。
输入 /输出函数 (续 1)
? 输出函数
MsgBox(prompt[,button][,title])
prompt:显示窗口中的提示信息
button,指定窗口外观和按钮类型
title,显示窗口标题中的文字
说明,[…] 中为可选项
输入 /输出函数 (续 2)
? 输入函数
String=InputBox(prompt [,title][,default])
String:用户输入的内容
prompt:显示窗口中的提示信息
title:显示窗口标题中的文字
default:指定窗口中的文本输入框内的默认字
符串,即默认输入内容
说明,[…] 中为可选项
输入 /输出函数举例
<html>
<head>
<title>InputBox和 MsgBox用法示例 </title>
</head>
<body>
<script language="VBScript">
Option Explicit '强制要求变量必须声明
Dim Name1,Name2 '声明变量
Name1=InputBox("金庸小说中你最喜欢的人物第一是 ","输入名称 ")
Name2=InputBox("金庸小说中你最喜欢的人物第二是 ","输入名称 ")
MsgBox Name1 &,和, & Name2 &,是金庸小说中你最喜欢的两个人
物,
</script>
</body>
</html>
字符串函数
? 字符串用途广泛,如用户注册时输
入的用户名、密码等信息,留言板
中的留言标题、内容、留言人等信
息,都是作为字符串处理的。
<%
user_name=Ucase(“Zhu rongji”)
StrTemp=Mid(“He is a good prime minister”,9,4)
%>
常见字符串操作函数
函 数 功 能
Len(string) 返回字符串 string里的字符个数
Trim(string) 将字符串 string的前后空格去掉
Mid(string,start[,length]) 从 string的第 start个字符开始截取长度为
length的子字符串;如省略参数 length,则
从 start开始截取到 string的最后一个字符
Left(string,length) 从 string的左边截取长度为 length的子字符串
Right(string,length) 从 string的右边截取长度为 length的子字符串
LCase(string) 将 string里的所有大写字母转换为小写字母
UCase(string) 将 string里的所有小写字母转换为大写字母
StrComp(str1,str2) 返回 str1和 str2的比较结果,同,则为 0;大,
为 1;小为,-1
Len 函数与 LTrim,RTrim,和 Trim 函数
? 下面的示例利用 Len 函数返回字符串中的字符数目:
– Dim MyString
– MyString = Len(“VBSCRIPT”)?MyString 包含 8。
? 下面的示例利用 LTrim,RTrim,和 Trim 函数分别用
来除去字符串开始的空格、尾部空格,开始和尾部
空格:
– Dim MyVar
– MyVar = LTrim(" vbscript ") 'MyVar 包含 "vbscript "。
– MyVar = RTrim(" vbscript ") 'MyVar 包含 " vbscript"。
– MyVar = Trim(" vbscript ") 'MyVar 包含 "vbscript"。
Mid 函数与 Left 函数
? 下面的示例利用 Mid 函数返回字符串中从第四个
字符开始的六个字符:
– Dim MyVar
– MyVar = Mid("VB脚本 is fun!",4,6) 'MyVar 包含
"Script"。
? 下面的示例利用 Left 函数返回 MyString 的左边三
个字母:
– Dim MyString,LeftString
– MyString = "VBSCript"
– LeftString = Left(MyString,3) 'LeftString 包含 "VBS
Right 函数
? 下面的示例利用 Right 函数从字符串右边
返回指定数目的字符:
– Dim AnyString,MyStr
– AnyString =,Hello World”?定义字符串。
– MyStr = Right(AnyString,1) '返回 "d"。
– MyStr = Right(AnyString,6) ' 返回 " World"。
– MyStr = Right(AnyString,20) ' 返回 "Hello
World"。
StrComp 函数
? 下面的示例利用 StrComp 函数返回字符串比较
的结果。如果第三个参数为 1 执行文本比较;如
果第三个参数为 0 或者省略执行二进制比较。
– Dim MyStr1,MyStr2,MyComp
– MyStr1 = "ABCD“
– MyStr2 =,abcd”?定义变量。
– MyComp = StrComp(MyStr1,MyStr2,1) ? 返回 0。
– MyComp = StrComp(MyStr1,MyStr2,0) ? 返回 -1。
– MyComp = StrComp(MyStr2,MyStr1) ' 返回 1。
InStr示例
? 下面的示例利用 InStr 搜索字符串:
– Dim SearchString,SearchChar,MyPos
– SearchString ="XXpXXpXXPXXP"
– SearchChar = "P"
– MyPos = Instr(SearchString,SearchChar)
‘ 返回 9,
– 注意:返回的不是一个字符串在另一个字符串
中第一次出现的字符位置,而是字节位置。
Split函数示例
– Dim MyString,MyArray,Msg
–MyString = "VBScriptXisXfun!“
– MyArray = Split(MyString,"x",-1,1)
' MyArray(0) contains "VBScript".
' MyArray(1) contains "is".
' MyArray(2) contains "fun!".
– Response.Write(MyArray(0))
Replace函数示例
? Replace("ABCD","BC","12") '得到 A12D
日期与时间函数
? 在 VBScript中,可以用日期和时间函
数得到各种格式的日期和时间,如留
言板里经常用 Date()来记载留言日期。
? 常用日期和时间函数如下表:
常用日期与时间函数
函 数 功 能
Now() 取得系统当前日期和时间
Date() 取得系统当前日期
Time() 取得系统当前时间
Month(Date) 取得给定日期的月份
Day(Date) 取得给定日期是几号
WeekDay(Date) 取得给定日期是星期几
Year(Date) 取得给定日期的年份
常用日期与时间函数(续)
函 数 功 能
DateDiff(“Var”,Var1,Var2) 计算日期或时间 Var1与 Var2的间隔
,Var”:为时间间隔因子
DateAdd(“Var”,Var1,Var2)
Var1:日期或时间间隔倍数
Var2:日期或时间的基准
对时间 /日期 Var2作加法
FormatDateTime(Date,vbShortDat
e)
显示短日期格式
FormatDateTime(Date,vbLongDat
e)
显示长日期格式
FormatDateTime(Date,vbShortTim
e)
显示短时间格式
FormatDateTime(Date,vbLongTim
e)
显示长时间格式
日期与时间间隔因子
间隔因子 yyyy m d ww h s
说明 年 月 日 星期 小时 秒
日期与时间函数示例
? <% Option Explicit '放在程序首行,强制变量声明 %>
<html>
<head>
<title>日期和时间函数的用法示例 </title>
</head>
<body>
<%
Dim Output1,Output2,Output3 '声明变量
Output1="日期,"&Date()
Output2="时间,"&Time()
Output3="日期与时间,"&Now()
%>
<%=Output1%><br>
<%=Output2%><br>
<%=Output3%><br>
</body>
</html>
常用数学函数
函 数 功 能
Abs(number) 返回一个数的绝对值
Sqr(number) 返回一个数的平方根
Int(number) 取 number的最大整数部分
Cos(number)
Sin(number)
Log(number)
Tan(number)
Rnd(number) 返回一个随机数
检验函数
函 数 功 能
VarType(Variant) 返回变量 Variant的数据子类型
IsEmpty(Variant) 检查变量 Variant是否为 Empty
IsNull(Variant) 检查变量 Variant是否为 Null
IsObject(Variant) 检查变量 Variant是否为对象类型
IsNumberic(Variant) 检查变量 Variant是否为数值类型
IsArray(Variant) 检查变量 Variant是否为数组类型
IsDate(Variant) 检查变量 Variant是否为日期类型
检验函数示例
<%
varTemp=“ASP”
If IsNumberic(varTemp) Then
Response.Write,是数值类型”
Else
Response.Write,不是数值类型”
End If
%>
参考资料
? <<ASP动态网站编程 >> 石志国 清华大学出版社
? <<ASP精解案例教程 >> 石志国 清华大学出版社
? <<ASP网络编程技术与实例 >> 胡标 人民邮电出版社
? <<网络程序设计 -ASP>> 尚俊杰 清华大学出版社
总结
? 转换函数用法
? 输入 /输出函数用法
? 字符串函数用法
? 日期与时间函数用法
? 常用数学函数用法
? 检验函数用法
习题与作业
1,请判断下列语句执行完毕后, a,b,c的值 ( )
<%
a="2" + 2
b="2" + "2"
c="2" & "2"
%>
(A)"22","22","22" (B) 4,"22","22" (C) "22",4,"22" (D) "22","22",4
2,下面 a=Trim(" vbscript") & Ltrim(" good") 语句后, a的值,( )
(A) " vbscript good"
(B) "vbscript good"
(C) " vbscriptgood"
(D) "vbscriptgood"