明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

ASP實用函數(shù)庫

[摘要]<%'判斷文件名是否合法Function isFilename(aFilename) Dim sErrorStr,iNameLength,i isFilename=TRUE sErrorStr=Array("/","\",":&quo...

<%
'判斷文件名是否合法
Function isFilename(aFilename)
 Dim sErrorStr,iNameLength,i
 isFilename=TRUE
 sErrorStr=Array("/","\",":","*","?","""","<",">"," ")
 iNameLength=Len(aFilename)
 If iNameLength<1 Or iNameLength=null Then
  isFilename=FALSE
 Else
  For i=0 To 8
   If instr(aFilename,sErrorStr(i)) Then
    isFilename=FALSE   
   End If
  Next
 End If
End Function

'去掉字符串頭尾的連續(xù)的回車和空格
function trimVBcrlf(str)
 trimVBcrlf=rtrimVBcrlf(ltrimVBcrlf(str))
end function

'去掉字符串開頭的連續(xù)的回車和空格
function ltrimVBcrlf(str)
 dim pos,isBlankChar
 pos=1
 isBlankChar=true
 while isBlankChar
  if mid(str,pos,1)=" " then
   pos=pos+1
  elseif mid(str,pos,2)=VBcrlf then
   pos=pos+2
  else
   isBlankChar=false
  end if
 wend
 ltrimVBcrlf=right(str,len(str)-pos+1)
end function

'去掉字符串末尾的連續(xù)的回車和空格
function rtrimVBcrlf(str)
 dim pos,isBlankChar
 pos=len(str)
 isBlankChar=true
 while isBlankChar and pos>=2
  if mid(str,pos,1)=" " then
   pos=pos-1
  elseif mid(str,pos-1,2)=VBcrlf then
   pos=pos-2
  else
   isBlankChar=false
  end if
 wend
 rtrimVBcrlf=rtrim(left(str,pos))
end function

'判斷Email是否有效,返回1表示正確
Function isEmail(aEmail)
 Dim iLocat,v,iLength,i,checkletter
 If instr(aEmail,"@") = 0 Or instr(aEmail,".") = 0 Then
  isEmail=0
  EXIT FUNCTION
 End If
 iLocat=instr(aEmail,"@")
 If instr(iLocat,aEmail,".")=0 Or instr(iLocat+1,aEmail,"@")>0 Then
  isEmail=0
  EXIT FUNCTION
 End If
 If left(aEmail,1)="." Or right(aEmail,1)="." Or left(aEmail,1)="@" Or right(aEmail,1)="@" Then
  isEmail=0
  EXIT FUNCTION
 End If
 v="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-.@"
 iLength=len(aEmail)
 For i=1 To iLength
  checkletter=mid(aEmail,i,1)
  If instr(v,checkletter)=0 Then
   isEmail=0
   EXIT FUNCTION
  End If
 Next
 isEmail=1
End Function

'測試用:顯示服務(wù)器信息
Sub showServer
 Dim name
 Response.write "<Table border=1 bordercolor=lightblue CELLSPACING=0>"
 for each name in request.servervariables
  Response.write "<tr>"
  Response.write "<td>"&name&"</td>"
  Response.write "<td>"&request.servervariables(name)&"<br></td>"
  Response.write "</tr>"
 next
 Response.write "</table>"
End Sub

'測試用:顯示Rs結(jié)果集以及字段名稱
Sub showRs(rs)
 Dim strTable,whatever
 Response.write "<center><table><tr>"
 for each whatever in rs.fields
  response.write "<td><b>" & whatever.name & "</B></TD>"
 next
 strTable = "</tr><tr><td>"&rs.GetString(,,"</td><td>","</tr><tr><td>"," ") &"</td></tr></table></center>"
 Response.Write(strTable)
End Sub

'用HTML格式顯示文本
function HTMLEncode(fString)
if not isnull(fString) then
    fString = replace(fString, ">", "&gt;")
    fString = replace(fString, "<", "&lt;")

    fString = Replace(fString, CHR(32), "&nbsp;")
    fString = Replace(fString, CHR(34), "&quot;")
    fString = Replace(fString, CHR(39), "&#39;")
    fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
    fString = Replace(fString, CHR(10), "<BR> ")
    HTMLEncode = fString
end if
end function

'測試用:顯示調(diào)試錯誤信息
Sub showError
 Dim sErrMsg
 sErrMsg=Err.Source&" "&Err.Description
 Response.write "<center>"&sErrMsg&"</center>"
 Err.clear
End Sub

'顯示文字計數(shù)器
Sub showCounter
Dim fs,outfile,filename,count
filename=server.mappath("count.txt")
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.fileExists(filename) Then
 Set outfile=fs.openTextFile(filename,1)
 count=outfile.readline
 count=count+1
 Response.write "<center>瀏覽人次:"&count&"<center>"
 outfile.close
 Set outfile=fs.CreateTextFile(filename)
 outfile.writeline(count)
Else
 Set outfile=fs.openTextFile(filename,8,TRUE)
 count=0
 outfile.writeline(count)
END IF
outfile.close
set fs=nothing
End Sub
%>


[page_break]

Array()
 FUNCTION: 返回一個數(shù)組
 SYNTAX: Array(list)
 ARGUMENTS: 字符,數(shù)字均可
 EXAMPLE: <%
Dim myArray()
For i = 1 to 7
  Redim Preserve myArray(i)
  myArray(i) = WeekdayName(i)
Next
%>
 RESULT: 建立了一個包含7個元素的數(shù)組myArray
myArray("Sunday","Monday", ... ... "Saturday")
 
CInt()
 FUNCTION: 將一個表達(dá)式轉(zhuǎn)化為數(shù)字類型
 SYNTAX: CInt(expression)
 ARGUMENTS: 任何有效的字符均可
 EXAMPLE: <%
f = "234"
response.write cINT(f) + 2
%>
 RESULT: 236
轉(zhuǎn)化字符"234"為數(shù)字"234",如果字符串為空,則返回0值 
 
CreateObject()
 FUNCTION: 建立和返回一個已注冊的ACTIVEX組件的實例。
 SYNTAX: CreateObject(objName)
 ARGUMENTS: objName 是任何一個有效、已注冊的ACTIVEX組件的名字.
 EXAMPLE: <%
Set con = Server.CreateObject("ADODB.Connection")
%>
 RESULT: 
 
CStr()
 FUNCTION: 轉(zhuǎn)化一個表達(dá)式為字符串.
 SYNTAX: CStr(expression)
 ARGUMENTS: expression 是任何有效的表達(dá)式。
 EXAMPLE: <%
s = 3 + 2
response.write "The result is: " & cStr(s)
%>
 RESULT: 轉(zhuǎn)化數(shù)字“5”為字符“5”。
 
Date()
 FUNCTION: 返回當(dāng)前系統(tǒng)日期.
 SYNTAX: Date()
 ARGUMENTS: None.
 EXAMPLE: <%=Date%>
 RESULT: 8/4/99
 
DateAdd()
 FUNCTION: 返回一個被改變了的日期。
 SYNTAX: DateAdd(timeinterval,number,date)
 ARGUMENTS: timeinterval is the time interval to add; number is amount of
time intervals to add; and date is the starting date.
 EXAMPLE: <%
currentDate = #8/4/99#
newDate = DateAdd("m",3,currentDate)
response.write newDate
%>

<%
currentDate = #12:34:45 PM#
newDate = DateAdd("h",3,currentDate)
response.write newDate
%>
 RESULT: 11/4/99
3:34:45 PM

"m" = "month";
"d" = "day";

If currentDate is in time format then,
"h" = "hour";
"s" = "second";
 
DateDiff()
 FUNCTION: 返回兩個日期之間的差值 。
 SYNTAX: DateDiff(timeinterval,date1,date2 [, firstdayofweek ][,
firstweekofyear]])
 ARGUMENTS: timeinterval 表示相隔時間的類型,如“M“表示“月”。
 EXAMPLE: <%
fromDate = #8/4/99#
toDate = #1/1/2000#
response.write "There are " & _
  DateDiff("d",fromDate,toDate) & _
  " days to millenium from 8/4/99."
%>
 RESULT: 從8/4/99 到2000年還有 150 天.
 
Day()
 FUNCTION: 返回一個月的第幾日 .
 SYNTAX: Day(date)
 ARGUMENTS: date 是任何有效的日期!
 EXAMPLE: <%=Day(#8/4/99#)%>
 RESULT: 4


[page_break]FormatCurrency()
 FUNCTION: 返回表達(dá)式,此表達(dá)式已被格式化為貨幣值 
 SYNTAX: FormatCurrency(Expression [, Digit ][, LeadingDigit ][, Paren ][,
GroupDigit]]]])
 ARGUMENTS: Digit 指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認(rèn)值為 -1,指示使用的是
計算機的區(qū)域設(shè)置; LeadingDigit 三態(tài)常數(shù),指示是否顯示小數(shù)值小數(shù)點前面的
零!
 EXAMPLE: <%=FormatCurrency(34.3456)%>
 RESULT: $34.35
 
FormatDateTime()
 FUNCTION: 返回表達(dá)式,此表達(dá)式已被格式化為日期或時間
 SYNTAX: FormatDateTime(Date, [, NamedFormat])
 ARGUMENTS: NamedFormat 指示所使用的日期/時間格式的數(shù)值,如果省略,則使用
vbGeneralDate.
 EXAMPLE: <%=FormatDateTime("08/4/99", vbLongDate)%>
 RESULT: Wednesday, August 04, 1999
 
FormatNumber()
 FUNCTION: 返回表達(dá)式,此表達(dá)式已被格式化為數(shù)值.
 SYNTAX: FormatNumber(Expression [, Digit ][, LeadingDigit ][, Paren ][,
GroupDigit]]]])
 ARGUMENTS: Digit 指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認(rèn)值為 -1,指示使用的是
計算機的區(qū)域設(shè)置。; LeadingDigit i指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認(rèn)值為 -
1,指示使用的是計算機的區(qū)域設(shè)置。; Paren 指示小數(shù)點右側(cè)顯示位數(shù)的數(shù)值。默認(rèn)
值為 -1,指示使用的是計算機的區(qū)域設(shè)置。; GroupDigit i指示小數(shù)點右側(cè)顯示位數(shù)
的數(shù)值。默認(rèn)值為 -1,指示使用的是計算機的區(qū)域設(shè)置。.
 EXAMPLE: <%=FormatNumber(45.324567, 3)%>
 RESULT: 45.325
 
FormatPercent()
 FUNCTION: 返回表達(dá)式,此表達(dá)式已被格式化為尾隨有 % 符號的百分比(乘以
100 )。 (%)
 SYNTAX: FormatPercent(Expression [, Digit ][, LeadingDigit ][, Paren ][,
GroupDigit]]]])
 ARGUMENTS: 同上.
 EXAMPLE: <%=FormatPercent(0.45267, 3)%>
 RESULT: 45.267%
 
Hour()
 FUNCTION: 以24時返回小時數(shù).
 SYNTAX: Hour(time)
 ARGUMENTS: 
 EXAMPLE: <%=Hour(#4:45:34 PM#)%>
 RESULT: 16
(Hour has been converted to 24-hour system)

[page_break]Instr()
 FUNCTION: 返回字符或字符串在另一個字符串中第一次出現(xiàn)的位置.
 SYNTAX: Instr([start, ] strToBeSearched, strSearchFor [, compare])
 ARGUMENTS: Start為搜索的起始值,strToBeSearched接受搜索的字符串 
strSearchFor要搜索的字符.compare比較方式(詳細(xì)見ASP常數(shù))
 EXAMPLE: <%
strText = "This is a test!!"
pos = Instr(strText, "a")
response.write pos
%>
 RESULT: 9
 
InstrRev()
 FUNCTION: 同上,只是從字符串的最后一個搜索起
 SYNTAX: InstrRev([start, ] strToBeSearched, strSearchFor [, compare])
 ARGUMENTS: 同上.
 EXAMPLE: <%
strText = "This is a test!!"
pos = InstrRev(strText, "s")
response.write pos
%>
 RESULT: 13

 
Int()
 FUNCTION: 返回數(shù)值類型,不四舍五入,注意取值是不大于它的整數(shù)。
 SYNTAX: Int(number)
 ARGUMENTS: 
 EXAMPLE: <%=INT(32.89)%>  <%=int(-3.33)%>
 RESULT: 32  -4
 
IsArray()
 FUNCTION: 判斷一對象是否為數(shù)組,返回布爾值 .
 SYNTAX: IsArray(name)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "Test!"
response.write IsArray(strTest)
%>
 RESULT: False


[page_break]IsDate()
 FUNCTION: 判斷一對象是否為日期,返回布爾值
 SYNTAX: IsDate(expression)
 ARGUMENTS: expression is any valid expression.
 EXAMPLE: <%
strTest = "8/4/99"
response.write IsDate(strTest)
%>
 RESULT: True
 
IsEmpty()
 FUNCTION: 判斷一對象是否初始化,返回布爾值.
 SYNTAX: IsEmpty(expression)
 ARGUMENTS: 
 EXAMPLE: <%
Dim i
response.write IsEmpty(i)
%>
 RESULT: True
 
IsNull()
 FUNCTION: 判斷一對象是否為空,返回布爾值.
 SYNTAX: IsNull(expression)
 ARGUMENTS: 
 EXAMPLE: <%
Dim i
response.write IsNull(i)
%>
 RESULT: False
 
IsNumeric()
 FUNCTION: 判斷一對象是否為數(shù)字,返回布爾值.
 SYNTAX: IsNumeric(expression)
 ARGUMENTS: 
 EXAMPLE: <%
i = "345"
response.write IsNumeric(i)
%>
 RESULT: True
就算數(shù)字加了引號,ASP還是認(rèn)為它是數(shù)字。
[page_break]IsObject()
 FUNCTION: 判斷一對象是否為對象,返回布爾值.
 SYNTAX: IsObject(expression)
 ARGUMENTS: 
 EXAMPLE: <%
Set con = Server.CreateObject("ADODB.Connection")
response.write IsObject(con)
%>
 RESULT: True
 
LBound()
 FUNCTION: 返回指定數(shù)組維的最小可用下標(biāo).
 SYNTAX: Lbound(arrayname [, dimension])
 ARGUMENTS: ; dimension 指明要返回哪一維下界的整數(shù)。使用 1 表示第一維,2
表示第二維,以此類推。如果省略 dimension 參數(shù),默認(rèn)值為 1.
 EXAMPLE: <%
i = Array("Monday","Tuesday","Wednesday")
response.write LBound(i)
%>
 RESULT: 0
 
LCase()
 FUNCTION:  返回字符串的小寫形式
 SYNTAX: Lcase(string)
 ARGUMENTS: string is any valid string expression.
 EXAMPLE: <%
strTest = "This is a test!"
response.write LCase(strTest)
%>
 RESULT: this is a test!
 
Left()
 FUNCTION: 返回字符串左邊第length個字符以前的字符(含第length個字符).
 SYNTAX: Left(string, length)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!"
response.write Left(strTest, 3)
%>
 RESULT: Thi
[page_break]Len()
 FUNCTION: 返回字符串的長度.
 SYNTAX: Len(string varName)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!"
response.write Len(strTest)
%>
 RESULT: 15
 
LTrim()
 FUNCTION: 去掉字符串左邊的空格.
 SYNTAX: LTrim(string)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = " This is a test!"
response.write LTrim(strTest)
%>
 RESULT: This is a test!
 
Mid()
 FUNCTION: 返回特定長度的字符串(從start開始,長度為length).
 SYNTAX: Mid(string, start [, length])
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test! Today is Monday."
response.write Mid(strTest, 17, 5)
%>
 RESULT: Today
 
Minute()
 FUNCTION: 返回時間的分釧.
 SYNTAX: Minute(time)
 ARGUMENTS: 
 EXAMPLE: <%=Minute(#12:45:32 PM#)%>
 RESULT: 45
[page_break]Month()
 FUNCTION: 返回日期.
 SYNTAX: Month(date)
 ARGUMENTS: date is any valid date expression.
 EXAMPLE: <%=Month(#08/04/99#)%>
 RESULT: 8
 
MonthName()
 FUNCTION: Returns a string identifying the specified month.
 SYNTAX: MonthName(month, [, Abb])
 ARGUMENTS: month is the numeric representation for a given month; Abb
(optional) is a boolean value used to display month abbreviation. True
will display the abbreviated month name and False (default) will not show
the abbreviation.
 EXAMPLE: <%=MonthName(Month(#08/04/99#))%>
 RESULT: August
 
Now()
 FUNCTION: Returns the current system date and time.
 SYNTAX: Now()
 ARGUMENTS: None
 EXAMPLE: <%=Now%>
 RESULT: 8/4/99 9:30:16 AM
 
Replace()
 FUNCTION: Returns a string in which a specified sub-string has been
replaced with another substring a specified number of times.
 SYNTAX: Replace(strToBeSearched, strSearchFor, strReplaceWith [, start
][, count ][, compare]]])
 ARGUMENTS: strToBeSearched is a string expression containing a sub-
string to be replaced; strSearchFor is the string expression to search for
within strToBeSearched; strReplaceWith is the string expression to replace
sub-string strSearchFor; start (optional) is the numeric character
position to begin search; count (optional) is a value indicating the
comparision constant.
 EXAMPLE: <%
strTest = "This is an apple!"
response.write Replace(strTest, "apple", "orange")
%>
 RESULT: This is an orange!
[page_break]Right()
 FUNCTION: 返回字符串右邊第length個字符以前的字符(含第length個字符).
 SYNTAX: Right(string, length)
 ARGUMENTS: .
 EXAMPLE: <%
strTest = "This is an test!"
response.write Right(strTest, 3)
%>
 RESULT: st!
 
Rnd()
 FUNCTION: 產(chǎn)生一個隨機數(shù).
 SYNTAX: Rnd [ (number) ]
 ARGUMENTS: 
 EXAMPLE: <%
Randomize()
response.write RND()
%>
 RESULT: 任何一個在0 到 1 之間的數(shù)
 
Round()
 FUNCTION: 返回按指定位數(shù)進行四舍五入的數(shù)值.
 SYNTAX: Round(expression [, numRight])
 ARGUMENTS: numRight數(shù)字表明小數(shù)點右邊有多少位進行四舍五入。如果省略,則
Round 函數(shù)返回整數(shù).
 EXAMPLE: <%
i = 32.45678
response.write Round(i)
%>
 RESULT: 32
 
Rtrim()
 FUNCTION: 去掉字符串右邊的字符串.
 SYNTAX: Rtrim(string)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!! "
response.write RTrim(strTest)
%>
 RESULT: This is a test!!
 
Second()
 FUNCTION: 返回秒.
 SYNTAX: Second(time)
 ARGUMENTS: .
 EXAMPLE: <%=Second(#12:34:28 PM#)%>
 RESULT: 28
 
StrReverse()
 FUNCTION: 反排一字符串
 SYNTAX: StrReverse(string)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!!"
response.write StrReverse(strTest)
%>
 RESULT: !!tset a si sihT
[page_break]Time()
 FUNCTION: 返回系統(tǒng)時間.
 SYNTAX: Time()
 ARGUMENTS: .
 EXAMPLE: <%=Time%>
 RESULT: 9:58:28 AM
 
Trim()
 FUNCTION: 去掉字符串左右的空格.
 SYNTAX: Trim(string)
 ARGUMENTS: string is any valid string expression.
 EXAMPLE: <%
strTest = " This is a test!! "
response.write Trim(strTest)
%>
 RESULT: This is a test!!
 
UBound()
 FUNCTION: 返回指定數(shù)組維數(shù)的最大可用下標(biāo).
 SYNTAX: Ubound(arrayname [, dimension])
 ARGUMENTS: ; dimension (optional) 指定返回哪一維上界的整數(shù)。1 表示第一
維,2 表示第二維,以此類推。如果省略 dimension 參數(shù),則默認(rèn)值為 1.
 EXAMPLE: <%
i = Array("Monday","Tuesday","Wednesday")
response.write UBound(i)
%>
 RESULT: 2
 
UCase()
 FUNCTION: 返回字符串的大寫形式.
 SYNTAX: UCase(string)
 ARGUMENTS: 
 EXAMPLE: <%
strTest = "This is a test!!"
response.write UCase(strTest)
%>
 RESULT: THIS IS A TEST!!
 
VarType()
 FUNCTION: 返回指示變量子類型的值
 SYNTAX: VarType(varName)
 ARGUMENTS: 
 EXAMPLE: <%
i = 3
response.write varType(i)
%>
 RESULT: 2(數(shù)字)詳見"asp常數(shù)"
 
WeekDay()
 FUNCTION: 返回在一周的第幾天.
 SYNTAX: WeekDay(date [, firstdayofweek])
 ARGUMENTS: .
 EXAMPLE: <%
d = #8/4/99#
response.write Weekday(d)
%>
 RESULT: 4(星期三)
 
WeekDayName()
 FUNCTION: 返回一周第幾天的名字.
 SYNTAX: WeekDayName(weekday [, Abb ][, firstdayofweek]])
 ARGUMENTS: Abb可選。Boolean 值,指明是否縮寫表示星期各天的名稱。如果省
略, 默認(rèn)值為 False,即不縮寫星期各天的名稱.firstdayofweek指明星期第一天的
數(shù)值
 EXAMPLE: <%
d = #8/4/99#
response.write WeekdayName(Weekday(d))
%>
 RESULT: Wednesday
 
Year()
 FUNCTION: 返回當(dāng)前的年份.
 SYNTAX: Year(date)
 ARGUMENTS: 
 EXAMPLE: <%=Year(#8/4/99#)%>
 RESULT: 1999 



標(biāo)簽:ASP實用函數(shù)庫 

相關(guān)文章