簡介,VBScript常用函式,Array(),CInt(),CreateObject(),CStr(),Date(),DateAdd(),DateDiff(),Day(),formatCurrency(),formatDateTime(),formatNumber(),formatPercent(),Hour(),Instr(),InstrRev(),Int(),IsArray(),IsDate(),IsEmpty(),IsNull(),IsNumeric(),IsObject(),LBound(),LCase(),Left(),Len(),LTrim(),Mid(),Minute(),Month(),Now(),Right(),Rnd(),Round(),Rtrim(),Split(),Second(),StrReverse(),Time(),Trim(),UBound(),UCase(),VarType(),WeekDay(),WeekDayName(),Year(),
簡介
嚴格來說,ASP只是一種環境,一種技術,但它並不是一種語言,所以也就談不到”ASP函式“,上面提到的“ASP函式與VBSCRIPT類似”的說法更是錯誤的。
眾所周知,ASP可以使用VBScript,也可以使用JScript(即JavaScript),本文提到的函式實際上是VBScript中的一些常用函式。
VBScript中,自定義函式可以用Function關鍵字創建。
VBScript常用函式
Array()
函式返回一個包含
數組的
Variant。下標由0開始。
語法:Array(arglist)
arglist 參數是以逗號分隔的Variant,可以是字元串,數值,日期等類型
<%
Dim arrn, arrs
arrn = Array(1,2,3)
arrs = Array("A","B","C")
Response.Write arrn(1) ‘ 輸出結果:2
Response.Write arrs(2) ' 輸出結果:C
%>
CInt()
實例:<%
f = "234"
response.write cINT(f) + 2
%>
返回結果: 236
轉化字元"234"為數字"234",如果字元串為空,則返回0值
CreateObject()
函式建立和返回一個已註冊的ACTIVEX組件的實例。
表達式 CreateObject(objName)
允許
數據類型: objName 是任何一個有效、已註冊的ACTIVEX組件的名字.
實例:<%
Set con = Server.CreateObject("ADODB.Connection")
%>
CStr()
實例:<%
s = 3 + 2
response.write "The 返回結果 is: " & cStr(s)
%>
轉雙精度型函式
Cdbl(數值表達式) 把數值表達式值轉換為雙精度型。
轉單精度型函式
Csng(數值表達式) 把數值表達式值轉換為單精度型。
轉日期型函式
Cdate(表達式) 把表達式值轉換為日期型。
轉變體型函式
Cvar(表達式) 把表達式值轉換為變體型。
Date()
函式返回當前系統日期.
實例:<%=Date%>
返回結果: 9/9/00
DateAdd()
函式返回一個被改變了的日期。
表達式 DateAdd(timeinterval,number,date)
timeinterval is the time interval to add;
number is amount of time intervals to add;
and date is the starting date.
實例:<%
currentDate = #9/9/00#
newDate = DateAdd("m",3,currentDate)
response.write newDate
%>
<%
currentDate = #12:34:45 PM#
newDate = DateAdd("h",3,currentDate)
response.write newDate
%>
返回結果: 9/9/00
3:34:45 PM
"m" = "month";
"d" = "day";
If currentDate is in time format then,
"h" = "hour";
"s" = "second";
DateDiff()
函式返回兩個日期之間的差值。
表達式 DateDiff(timeinterval,date1,date2 [,firstdayofweek [,firstweekofyear]])
允許
數據類型: timeinterval 表示相隔時間的類型,如“M“表示“月”。
實例:<%
fromDate = #9/9/00#
toDate = #1/1/2000#
response.write "There are " & _
DateDiff("d",fromDate,toDate) & _
" days to millenium from 9/9/00."
%>
返回結果: 從9/9/00 到2000年還有 150 天.
Day()
函式返回一個月的第幾日 .
實例:<%=Day(#9/9/00#)%>
返回結果: 4
formatCurrency()
表達式 formatCurrency(Expression [,Digit [,LeadingDigit [,Paren [,GroupDigit]]]])
允許
數據類型: Digit 指示小數點右側顯示位數的數值。默認值為 -1,指示使用的是計算機的區域設定; LeadingDigit 三態常數,指示是否顯示小數值小數點前面的零。
實例:<%=formatCurrency(34.3456)%>
返回結果: $34.35
formatDateTime()
表達式 formatDateTime(Date,[,Namedformat])
允許
數據類型: Namedformat 指示所使用的日期/時間格式的數值,如果省略,則使用 vbGeneralDate.
實例:<%=formatDateTime("09/9/00",vbLongDate)%>
返回結果: Sunday,September 09,2000
formatNumber()
表達式 formatNumber(Expression [,Digit [,LeadingDigit [,Paren [,GroupDigit]]]])
允許數據類型: Digit 指示小數點右側顯示位數的數值。默認值為 -1,指示使用的是計算機的區域設定。; LeadingDigit i指示小數點右側顯示位數的數值。默認值為 -1,指示使用的是計算機的區域設定。; Paren 指示小數點右側顯示位數的數值。默認值為 -1,指示使用的是計算機的區域設定。; GroupDigit i指示小數點右側顯示位數的數值。默認值為 -1,指示使用的是計算機的區域設定..
實例:<%=formatNumber(45.324567,3)%>
返回結果: 45.325
formatPercent()
函式返回
表達式,此表達式已被格式化為尾隨有 % 符號的百分比(乘以 100 )。(%)
表達式 formatPercent(Expression [,Digit [,LeadingDigit [,Paren [,GroupDigit]]]])
允許數據類型: 同上.
實例:<%=formatPercent(0.45267,3)%>
返回結果: 45.267%
Hour()
函式以24時返回小時數.
允許數據類型:
實例:<%=Hour(#4:45:34 PM#)%>
返回結果: 16
(Hour has been converted to 24-hour system)
Instr()
函式返回
字元或字元串在另一個字元串中第一次出現的位置.
表達式 Instr([start,] strToBeSearched,strSearchFor [,compare])
允許
數據類型: Start為搜尋的起始值,strToBeSearched接受搜尋的字元串 strSearchFor要搜尋的字元.compare比較方式(詳細見ASP常數)
實例:<%
strText = "This is a test!!"
pos = Instr(strText,"a")
response.write pos
%>
返回結果: 9
InstrRev()
函式同上,只是從字元串的最後一個搜尋起
表達式InstrRev([start,] strToBeSearched,strSearchFor [,compare])
允許數據類型: 同上.
實例:<%
strText = "This is a test!!"
response.write pos
%>
返回結果: 13
Int()
函式返回數值類型,不四捨五入。
允許數據類型:
實例:<%=INT(32.89)%>
返回結果: 32
IsArray()
實例:<%
strTest = "Test!"
%>
返回結果: False
IsDate()
函式判斷一對象是否為日期,返回布爾值
實例:<%
strTest = "9/4/2000"
response.write IsDate(strTest)
%>
返回結果: True
IsEmpty()
函式判斷一對象是否初始化,返回布爾值.
實例:<%
Dim i
response.write IsEmpty(i)
%>
返回結果: True
IsNull()
函式判斷一對象是否為空,返回布爾值.
實例:<%
Dim i
response.write IsNull(i)
%>
返回結果: False
IsNumeric()
函式判斷一對象是否為數字,返回布爾值.
表達式 IsNumeric(expression)
實例:<%
i = "345"
response.write IsNumeric(i)
%>
返回結果: True
就算數字加了引號,ASP還是認為它是數字。
IsObject()
函式判斷一對象是否為對象,返回布爾值.
實例:<%
Set con = Server.CreateObject("ADODB.Connection")
%>
返回結果: True
LBound()
表達式 Lbound(arrayname [,dimension])
實例:<%
i = Array("Monday","Tuesday","Wednesday")
response.write LBound(i)
%>
返回結果: 0
LCase()
函式 返回字元串的小寫形式
實例:<%
strTest = "This is a test!"
response.write LCase(strTest)
%>
返回結果: this is a test!
Left()
函式返回
字元串左邊第length個字元以前的字元(含第length個字元).
實例:<%
strTest = "This is a test!"
response.write Left(strTest,3)
%>
返回結果: Thi
Len()
函式返回字元串的長度.
表達式 Len(string | varName)
實例:<%
strTest = "This is a test!"
response.write Len(strTest)
%>
返回結果: 15
LTrim()
函式去掉字元串左邊的空格.
實例:<%
strTest = " This is a test!"
response.write LTrim(strTest)
%>
返回結果: This is a test!
Mid()
函式返回特定長度的字元串(從start開始,長度為length).
表達式 Mid(string,start [,length])
實例:<%
strTest = "This is a test! Today is Monday."
response.write Mid(strTest,17,5)
%>
返回結果: Today
Minute()
函式返回時間的分鐘.
實例:<%=Minute(#12:45:32 PM#)%>
返回結果: 45
Month()
函式返回日期.
實例:<%=Month(#08/04/99#)%>
返回結果: 8
函式返回指定月份
實例:<%=MonthName(Month(#08/04/99#))%>
返回結果: August
Now()
函式返回系統時間
實例:<%=Now%>
返回結果: 9/9/00 9:30:16 AM
Right()
函式返回字元串右邊第length個字元以前的字元(含第length個字元).
實例:<%
strTest = "This is an test!"
response.write Right(strTest,3)
%>
返回結果: st!
Rnd()
函式產生一個隨機數.
實例:<%
Randomize()
response.write RND()
%>
返回結果: 任何一個在0 到 1 之間的數
Round()
函式返回按指定位數進行四捨五入的數值.
表達式 Round(expression [,numRight])
實例:<%
i = 32.45678
response.write Round(i)
%>
返回結果: 32
Rtrim()
函式去掉字元串右邊的空格.
實例:<%
strTest = "This is a test!! "
response.write RTrim(strTest)
%>
返回結果: This is a test!!
Split()
函式將一個字元串分割並返回分割結果
實例:<%V= Split(A,B,C)
For i = 0 To UBound(V)
Response.Write V(i)
Next
%>
返回結果: A B C
Second()
函式返回秒.
實例:<%=Second(#12:34:28 PM#)%>
返回結果: 28
StrReverse()
函式反排一字元串
實例:<%
strTest = "This is a test!!"
%>
返回結果: !!tset a si sihT
Time()
函式返回系統時間.
實例:<%=Time%>
返回結果: 9:58:28 AM
Trim()
函式去掉字元串左右的空格.
實例:<%
strTest = " This is a test!! "
response.write Trim(strTest)
%>
返回結果: This is a test!!
UBound()
實例:<%
i = Array("Monday","Tuesday","Wednesday")
response.write UBound(i)
%>
返回結果: 2
UCase()
函式返回字元串的大寫形式.
允許數據類型:
實例:<%
strTest = "This is a test!!"
response.write UCase(strTest)
%>
返回結果: THIS IS A TEST!!
VarType()
函式返回指示變數子類型的值
實例:<%
i = 3
response.write varType(i)
%>
返回結果: 2(數字)詳見"asp常數"
WeekDay()
函式返回在一周的第幾天.
表達式 WeekDay(date [,firstdayofweek])
實例:<%
d = #9/9/00#
response.write Weekday(d)
%>
返回結果: 4(星期三)
WeekDayName()
函式返回一周第幾天的名字.
實例:<%
d = #9/9/00#
response.write WeekdayName(Weekday(d))
%>
返回結果: Wednesday
Year()
函式返回當前的年份.
實例:<%=Year(#9/9/00#)%>
返回結果: 1999