• ASP实用函数库


    〈%
    '判断文件名是否合法
    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

    '去掉字符串头尾的连续的回车和空格
    function trimVBcrlf(str)
    trimVBcrlf=rtrimVBcrlf(ltrimVBcrlf(str))
    end function

    '去掉字符串开头的连续的回车和空格
    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

    '去掉字符串末尾的连续的回车和空格
    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

    '测试用:显示服务器信息
    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)&"chr(13)&Chr(10)〈/td〉"

      Response.write "〈/tr〉"
    next
    Response.write "〈/table〉"
    End Sub

    '测试用:显示Rs结果集以及字段名称
    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 txt2Html(str)
    if isnull(str) then

      txt2Html=""

      exit Function
    end if
    str=Replace(str,chr(34),""")
    str=Replace(str,"〈","〈")
    str=Replace(str,"〉","〉")
    str=Replace(str,chr(13)+chr(10),"chr(13)&Chr(10)")
    str=Replace(str,chr(9)," ")
    str=Replace(str," "," ")
    txt2Html=str
    End Function

    '测试用:显示调试错误信息
    Sub showError
    Dim sErrMsg
    sErrMsg=Err.Source&" "&Err.Description
    Response.write "〈center〉"&sErrMsg&"〈/center〉"
    Err.clear
    End Sub

    '显示文字计数器
    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
    %〉

    Array()
     FUNCTION: 返回一个数组
     SYNTAX: Array(list)
     ARGUMENTS: 字符,数字均可
     EXAMPLE: 〈%
    Dim myArray()
    For i = 1 to 7
      Redim Preserve myArray(i)
      myArray(i) = WeekdayName(i)
    Next
    %〉
     RESULT: 建立了一个包含7个元素的数组myArray
    myArray("Sunday","Monday", ... ... "Saturday")
     
    CInt()
     FUNCTION: 将一个表达式转化为数字类型
     SYNTAX: CInt(expression)
     ARGUMENTS: 任何有效的字符均可
     EXAMPLE: 〈%
    f = "234"
    response.write cINT(f) + 2
    %〉
     RESULT: 236
    转化字符"234"为数字"234",如果字符串为空,则返回0值 
     
    CreateObject()
     FUNCTION: 建立和返回一个已注册的ACTIVEX组件的实例。
     SYNTAX: CreateObject(objName)
     ARGUMENTS: objName 是任何一个有效、已注册的ACTIVEX组件的名字.
     EXAMPLE: 〈%
    Set con = Server.CreateObject("ADODB.Connection")
    %〉
     RESULT: 
     
    CStr()
     FUNCTION: 转化一个表达式为字符串.
     SYNTAX: CStr(expression)
     ARGUMENTS: expression 是任何有效的表达式。
     EXAMPLE: 〈%
    s = 3 + 2
    response.write "The result is: " & cStr(s)
    %〉
     RESULT: 转化数字;5”为字符;5”。
     
    Date()
     FUNCTION: 返回当前系统日期.
     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
     
    FormatCurrency()
     FUNCTION: 返回表达式,此表达式已被格式化为货币值 
     SYNTAX: FormatCurrency(Expression [, Digit ][, LeadingDigit ][, Paren ][,
    GroupDigit]]]])
     ARGUMENTS: Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是
    计算机的区域设置;; LeadingDigit 三态常数,指示是否显示小数值小数点前面的
    零。 
     EXAMPLE: 〈%=FormatCurrency(34.3456)%〉
     RESULT: $34.35
     
    FormatDateTime()
     FUNCTION: 返回表达式,此表达式已被格式化为日期或时间
     SYNTAX: FormatDateTime(Date, [, NamedFormat])
     ARGUMENTS: NamedFormat 指示所使用的日期/时间格式的数值,如果省略,则使用
    vbGeneralDate.
     EXAMPLE: 〈%=FormatDateTime("08/4/99", vbLongDate)%〉
     RESULT: Wednesday, August 04, 1999
     
    FormatNumber()
     FUNCTION: 返回表达式,此表达式已被格式化为数值.
     SYNTAX: FormatNumber(Expression [, Digit ][, LeadingDigit ][, Paren ][,
    GroupDigit]]]])
     ARGUMENTS: Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是
    计算机的区域设置。;; LeadingDigit i指示小数点右侧显示位数的数值。默认值为 -
    1,指示使用的是计算机的区域设置。;; Paren 指示小数点右侧显示位数的数值。默认
    值为 -1,指示使用的是计算机的区域设置。;; GroupDigit i指示小数点右侧显示位数
    的数值。默认值为 -1,指示使用的是计算机的区域设置。.
     EXAMPLE: 〈%=FormatNumber(45.324567, 3)%〉
     RESULT: 45.325
     
    FormatPercent()
     FUNCTION: 返回表达式,此表达式已被格式化为尾随有 % 符号的百分比(乘以
    100 )。 (%)
     SYNTAX: FormatPercent(Expression [, Digit ][, LeadingDigit ][, Paren ][,
    GroupDigit]]]])
     ARGUMENTS: 同上.
     EXAMPLE: 〈%=FormatPercent(0.45267, 3)%〉
     RESULT: 45.267%
     
    Hour()
     FUNCTION: 以24时返回小时数.
     SYNTAX: Hour(time)
     ARGUMENTS: 
     EXAMPLE: 〈%=Hour(#4:45:34 PM#)%〉
     RESULT: 16
    (Hour has been converted to 24-hour system)
     
    Instr()
     FUNCTION: 返回字符或字符串在另一个字符串中第一次出现的位置.
     SYNTAX: Instr([start, ] strToBeSearched, strSearchFor [, compare])
     ARGUMENTS: Start为搜索的起始值,strToBeSearched接受搜索的字符串 
    strSearchFor要搜索的字符.compare比较方式(详细见ASP常数)
     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: 返回数值类型,不四舍五入,注意取值是不大于它的整数。
     SYNTAX: Int(number)
     ARGUMENTS: 
     EXAMPLE: 〈%=INT(32.89)%〉  〈%=int(-3.33)%〉
     RESULT: 32  -4
     
    IsArray()
     FUNCTION: 判断一对象是否为数组,返回布尔值 .
     SYNTAX: IsArray(name)
     ARGUMENTS: 
     EXAMPLE: 〈%
    strTest = "Test!"
    response.write IsArray(strTest)
    %〉
     RESULT: False
     
    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: 判断一对象是否为数字,返回布尔值.
     SYNTAX: IsNumeric(expression)
     ARGUMENTS: 
     EXAMPLE: 〈%
    i = "345"
    response.write IsNumeric(i)
    %〉
     RESULT: True
    就算数字加了引号,ASP还是认为它是数字。
     
    IsObject()
     FUNCTION: 判断一对象是否为对象,返回布尔值.
     SYNTAX: IsObject(expression)
     ARGUMENTS: 
     EXAMPLE: 〈%
    Set con = Server.CreateObject("ADODB.Connection")
    response.write IsObject(con)
    %〉
     RESULT: True
     
    LBound()
     FUNCTION: 返回指定数组维的最小可用下标.
     SYNTAX: Lbound(arrayname [, dimension])
     ARGUMENTS: ;; dimension 指明要返回哪一维下界的整数。使用 1 表示第一维,2
    表示第二维,以此类推。如果省略 dimension 参数,默认值为 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
     
    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
     
    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!
     
    Right()
     FUNCTION: 返回字符串右边第length个字符以前的字符(含第length个字符).
     SYNTAX: Right(string, length)
     ARGUMENTS: .
     EXAMPLE: 〈%
    strTest = "This is an test!"
    response.write Right(strTest, 3)
    %〉
     RESULT: st!
     
    Rnd()
     FUNCTION: 产生一个随机数.
     SYNTAX: Rnd [ (number) ]
     ARGUMENTS: 
     EXAMPLE: 〈%
    Randomize()
    response.write RND()
    %〉
     RESULT: 任何一个在0 到 1 之间的数
     
    Round()
     FUNCTION: 返回按指定位数进行四舍五入的数值.
     SYNTAX: Round(expression [, numRight])
     ARGUMENTS: numRight数字表明小数点右边有多少位进行四舍五入。如果省略,则
    Round 函数返回整数.
     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
     
    Time()
     FUNCTION: 返回系统时间.
     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: 返回指定数组维数的最大可用下标.
     SYNTAX: Ubound(arrayname [, dimension])
     ARGUMENTS: ;; dimension (optional) 指定返回哪一维上界的整数。1 表示第一
    维,2 表示第二维,以此类推。如果省略 dimension 参数,则默认值为 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(数字)详见"asp常数"
     
    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 值,指明是否缩写表示星期各天的名称。如果省
    略, 默认值为 False,即不缩写星期各天的名称.firstdayofweek指明星期第一天的
    数值
     EXAMPLE: 〈%
    d = #8/4/99#
    response.write WeekdayName(Weekday(d))
    %〉
     RESULT: Wednesday
     
    Year()
     FUNCTION: 返回当前的年份.
     SYNTAX: Year(date)
     ARGUMENTS: 
     EXAMPLE: 〈%=Year(#8/4/99#)%〉
     RESULT: 1999
  • 相关阅读:
    2022年第一天
    RestTemplate、 Ribbon、 OpenFeign 关系以及OpenFeign使用连接池
    linux下面编写简单的c++程序
    Rocket简介以及单机版安装
    事务源码(二)
    javaagent技术&Attach技术
    gateway网关原理
    Maven自定义插件以及使用
    AotucCrawler 快速爬取图片
    Monkey工具之fastbotiOS实践
  • 原文地址:https://www.cnblogs.com/MaxIE/p/350217.html
Copyright © 2020-2023  润新知