簡介
嚴格來說,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()
函式將一個表達式轉化為數字類型
表達式 CInt(expression)
允許數據類型: 任何有效的字元均可
實例:<%
f = "234"
response.write cINT(f) + 2
%>
返回結果: 236
轉化字元"234"為數字"234",如果字元串為空,則返回0值
CreateObject()
函式建立和返回一個已註冊的ACTIVEX組件的實例。
表達式 CreateObject(objName)
允許數據類型: objName 是任何一個有效、已註冊的ACTIVEX組件的名字.
實例:<%
Set con = Server.CreateObject("ADODB.Connection")
%>
CStr()
函式轉化一個表達式為字元串.
表達式 CStr(expression)
允許數據類型: expression 是任何有效的表達式。
實例:<%
s = 3 + 2
response.write "The 返回結果 is: " & cStr(s)
%>
轉雙精度型函式
Cdbl(數值表達式) 把數值表達式值轉換為雙精度型。
轉單精度型函式
Csng(數值表達式) 把數值表達式值轉換為單精度型。
轉日期型函式
Cdate(表達式) 把表達式值轉換為日期型。
轉變體型函式
Cvar(表達式) 把表達式值轉換為變體型。
Date()
函式返回當前系統日期.
表達式 Date()
允許數據類型: None.
實例:<%=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(date)
允許數據類型: date 是任何有效的日期。
實例:<%=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(time)
允許數據類型:
實例:<%=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()
函式同上,只是從字元串的最後一個搜尋起
表達式InstrRev([start,] strToBeSearched,strSearchFor [,compare])
允許數據類型: 同上.
實例:<%
strText = "This is a test!!"
pos = InstrRev(strText,"s")
response.write pos
%>
返回結果: 13
Int()
函式返回數值類型,不四捨五入。
表達式 Int(number)
允許數據類型:
實例:<%=INT(32.89)%>
返回結果: 32
IsArray()
IsArray()
函式判斷一對象是否為數組,返回布爾值 .
表達式IsArray(name)
實例:<%
strTest = "Test!"
response.write IsArray(strTest)
%>
返回結果: False
IsDate()
函式判斷一對象是否為日期,返回布爾值
表達式 IsDate(expression)
實例:<%
strTest = "9/4/2000"
response.write IsDate(strTest)
%>
返回結果: True
IsEmpty()
函式判斷一對象是否初始化,返回布爾值.
表達式 IsEmpty(expression)
實例:<%
Dim i
response.write IsEmpty(i)
%>
返回結果: True
IsNull()
函式判斷一對象是否為空,返回布爾值.
表達式 IsNull(expression)
實例:<%
Dim i
response.write IsNull(i)
%>
返回結果: False
IsNumeric()
函式判斷一對象是否為數字,返回布爾值.
表達式 IsNumeric(expression)
實例:<%
i = "345"
response.write IsNumeric(i)
%>
返回結果: True
就算數字加了引號,ASP還是認為它是數字。
IsObject()
IsObject()
函式判斷一對象是否為對象,返回布爾值.
表達式 IsObject(expression)
實例:<%
Set con = Server.CreateObject("ADODB.Connection")
response.write IsObject(con)
%>
返回結果: True
LBound()
函式返回指定數組維的最小可用下標.
表達式 Lbound(arrayname [,dimension])
實例:<%
i = Array("Monday","Tuesday","Wednesday")
response.write LBound(i)
%>
返回結果: 0
LCase()
函式 返回字元串的小寫形式
表達式 Lcase(string)
實例:<%
strTest = "This is a test!"
response.write LCase(strTest)
%>
返回結果: this is a test!
Left()
函式返回字元串左邊第length個字元以前的字元(含第length個字元).
表達式 Left(string,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()
函式去掉字元串左邊的空格.
表達式 LTrim(string)
實例:<%
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(time)
實例:<%=Minute(#12:45:32 PM#)%>
返回結果: 45
Month()
函式返回日期.
表達式 Month(date)
實例:<%=Month(#08/04/99#)%>
返回結果: 8
MonthName()
函式返回指定月份
表達式 MonthName(month,[,Abb])
實例:<%=MonthName(Month(#08/04/99#))%>
返回結果: August
Now()
函式返回系統時間
表達式 Now()
實例:<%=Now%>
返回結果: 9/9/00 9:30:16 AM
Right()
函式返回字元串右邊第length個字元以前的字元(含第length個字元).
表達式 Right(string,length)
實例:<%
strTest = "This is an test!"
response.write Right(strTest,3)
%>
返回結果: st!
Rnd()
函式產生一個隨機數.
表達式 Rnd [ (number) ]
實例:<%
Randomize()
response.write RND()
%>
返回結果: 任何一個在0 到 1 之間的數
Round()
函式返回按指定位數進行四捨五入的數值.
表達式 Round(expression [,numRight])
實例:<%
i = 32.45678
response.write Round(i)
%>
返回結果: 32
Rtrim()
函式去掉字元串右邊的空格.
表達式 Rtrim(string)
實例:<%
strTest = "This is a test!! "
response.write RTrim(strTest)
%>
返回結果: This is a test!!
Split()
函式將一個字元串分割並返回分割結果
表達式 Split (S[,d])
實例:<%V= Split(A,B,C)
For i = 0 To UBound(V)
Response.Write V(i)
Next
%>
返回結果: A B C
Second()
函式返回秒.
表達式 Second(time)
實例:<%=Second(#12:34:28 PM#)%>
返回結果: 28
StrReverse()
函式反排一字元串
表達式StrReverse(string)
實例:<%
strTest = "This is a test!!"
response.write StrReverse(strTest)
%>
返回結果: !!tset a si sihT
Time()
函式返回系統時間.
表達式 Time()
實例:<%=Time%>
返回結果: 9:58:28 AM
Trim()
函式去掉字元串左右的空格.
表達式 Trim(string)
實例:<%
strTest = " This is a test!! "
response.write Trim(strTest)
%>
返回結果: This is a test!!
UBound()
函式返回指定數組維數的最大可用下標>.
表達式Ubound(arrayname [,dimension])
實例:<%
i = Array("Monday","Tuesday","Wednesday")
response.write UBound(i)
%>
返回結果: 2
UCase()
函式返回字元串的大寫形式.
表達式 UCase(string)
允許數據類型:
實例:<%
strTest = "This is a test!!"
response.write UCase(strTest)
%>
返回結果: THIS IS A TEST!!
VarType()
函式返回指示變數子類型的值
表達式 VarType(varName)
實例:<%
i = 3
response.write varType(i)
%>
返回結果: 2(數字)詳見"asp常數"
WeekDay()
函式返回在一周的第幾天.
表達式 WeekDay(date [,firstdayofweek])
實例:<%
d = #9/9/00#
response.write Weekday(d)
%>
返回結果: 4(星期三)
WeekDayName()
函式返回一周第幾天的名字.
表達式WeekDayName(weekday [,Abb [,firstdayofweek]])
實例:<%
d = #9/9/00#
response.write WeekdayName(Weekday(d))
%>
返回結果: Wednesday
Year()
函式返回當前的年份.
表達式 Year(date)
實例:<%=Year(#9/9/00#)%>
返回結果: 1999