• 第 5 章 内置函数


    学习导航

    1. 日期时间函数
    2. 数值数组函数
    3. 判断函数
    4. 字符串函数
    5. 其他函数

    5.1 VBScript 内置函数

    在前面,我们介绍了函数的使用与建立方法,其实有很多函数是不用自己动手来建立的,VBScript 早就准备好了许多常用的函数来供您调用,下面就一一来说明一些常用的函数。

    5.2 日期与时间函数

    VBScript 提供了许多显示日期与时间的函数,如表:

    函数 用途
    Now 显示今天的日期与现在的时间
    Date 显示今天(计算机系统)的日期
    Time 显示现在(计算机系统)的时间
    Year 显示本年的年份
    Month 显示本月的月份
    Day 显示今天的日期
    Hour 显示现在的时间几点钟
    Minute 显示现在的时间几点钟
    Second 显示现在的时间几秒钟
    <script language="vbs">
        msgbox "现在是" & Now()
        msgbox "今天的日期" & Date()
        msgbox "现在的时间" & Time()
        msgbox "今天的日期是" & Year(Date) & "" & month(Date) & "" &_ Day(Date) & Day(Date) & "" 
        msgbox "现在的时间是" & Hour(Now) & "" & Minute(Now) & "" &_ Second(Now) & ""
    </script>

    这个例子中,now(),date(),time()这三个内置函数不需要传入参数,而year(),month(),day(),hour(),minute(),second()是需要传入参数的。

    <script language="vbs">
        SetTimeOut "Clock",1000
        sub Clock()
            H=Hour(Now)
            M=Minute(Now)
            S=Second(Now)
            NowTime="现在时间是" & H & "" & M & "" & S & ""
            NowT.InnerHtml=NowTime
            SetTimeOut "Clock",1000 
        end sub
    </script>
    <center id="NowT"></center>

    程序一开始会执行到SetTimeOut “Clock”,1000 ,这段程序代码的意思1秒之后执行子程序”Clock”,”SetTimeOut”这个语法可以让计算机上在隔一段时间后去执行某个子程序,它的格式如下:SetTimeOut “子程序名称”,时间

    其中的时间是以千分之一秒为单位,也就是1秒钟,在1秒之后执行子程序“Clock”,所以写成SetTimeOut “Clock”,”1000”;执行子程序“Clock”时就会使用到时间函数将现在的时间分别存放在变量‘H’,‘M’,‘S’中,接着再用 NowT.InnerHtml方法将现在的时间写如网页里, InnerHtml也是浏览器提供的一种方法,她的用途将文字写到指定的HTML标记,前面的“NowT”就是指定要写入的HTML标记。

    5.3 sqr()函数

    sqr()函数可以返回参数的平方根!

    <script language="vbs">
        a=inputbox("请输入一个整数")
        msgbox a & "的平方根为" & sqr(A)
    </script>

    5.4 abs()函数

    abs()函数可以返回一个数的绝对值

    <script language="vbs">
        a=inputbox("请输入一个整数")
        msgbox a & "的绝对值为" & abs(a)
    </script>

    5.5 IsNumeric() 函数

    IsNumeric函数可以侦测传入的参数是否为数字,如果是数字,那么就会返回True,如果不是数字,则返回False

    <script language="vbs">
        a=inputbox("请输入一个整数")
        do while not IsNumeric(a)
                 a=inputbox("您输入的不是整数,请重新输入!")
        loop
        msgbox a & "的绝对值为" & abs(a)
    </script>

    5.6  MsgBox() 函数

    弹出一个信息框

    格式: msgbox (“显示内容”,图标名称)

    名称          值           说明

    VbCritical        16           显示“重要信息”图标

    VbQuestion        32           显示“询问符号”图标

    VbExclamation      48            显示“警告符号”图标

    VbInformation      64           显示“信息符号”图标

    <script language="vbs">
        msgbox "重要信息",vbcritical        '16
        msgbox "询问符号",vbquestion       '32
        msgbox "警告符号",vbexclamation    '48
        msgbox "信息符号",vbinformation    '64
    </script>
    <script language="vbs">
        msgbox "发现系统漏洞,请确定修补漏洞!",16,"金山毒霸提醒您"
    </script>

    5.7 msgbox (“显示内容”,按钮名称)

    名称            值      说明

    VbOKOnly          0       只显示“确定”按钮

    VbOKCancel         1       只显示“确定”及“取消”按钮

    VbAbortRetryIgnore        2                显示“终止”,“重试”及“忽略

    VbYesNoCancel             3                显示“是”,“否”及“取消”

    VbYesNo                      4                显示“是”及“否”按钮

    VbRetryCancel              5                显示“重试”及“取消”按钮

    <script language="vbs">
        msgbox "按钮范例",0
        msgbox "按钮范例",1
        msgbox "按钮范例",2
        msgbox "按钮范例",3
        msgbox "按钮范例",4
        msgbox "按钮范例",5
    </script>
    <script language="vbs">
        msgbox "图标+按钮",3+32
    </script>

    5.8 判断用户所按下的按钮

          按钮值

          常数              值             按钮

          VbOk            1              确定

          VbCancel       2              取消

          VbAbort        3              终止

          VbRetry        4              重试

          VbIgonre      5              略过

          VbYes          6              是

          VbNo           7              否

    <script language="vbs">
        do
           do
              a=inputbox("请输入一个数字","计算绝对值")
           loop until IsNumeric(a)
           msgbox a & "的绝对值" & abs(a)
        loop until 2=msgbox ("是否要继续",1+32)
    </script>

    5.9 UBound()函数与LBound()函数

    格式:UBound(数组名)

    将数组名传入这两个个函数可以得到数组的上限和下限,在使用动态数组的时候经常会用到,因为使用动态数组通常都是根据当时的情况来配置大小,所以无法实现得知数组的大小,这时就必须使用到这个函数。

    <script language="vbs">
        dim a(3)
        msgbox "a的数组的最低值为" & LBound(a)
        msgbox "a的数组的最高值为" & UBound(a)
    </script>
    <script language="vbs">
        dim a(3)
        msgbox "a的数组的最低值为" & LBound(a)
        msgbox "a的数组的最高值为" & UBound(a)
    </script>
    <script language="vbs">
        dim a(10)
        for i=Lbound(a) to Ubound(a)
                total=total+i
        next
        msgbox "total=" & total
    </script>

    5.10 Int() 函数

     这个函数必须传入一个参数,并将这个参数的整数部分返回。

    <script language="vbs">
        a=3.9359459
        msgbox "a的整数为" & int(a)
    </script>

    5.12 Rnd()函数

    这个函数可以产生介于0~1之间的随机数,使用加上Randomize来声明要使用随机数。由于Rnd()所产生的随机数时介于0~1之间的数,所以您必须用一些小技巧才可以使用,若要产生一个介于N~M之间的随机数,可以套用下面的公式:

    Randomize

    R=Int(Rnd()*M-N+1)+N

    <script language="vbs">
        randomize
        msgbox int(rnd()*5-0+1)+0
    </script>

    5.13 Instr()函数

    这个函数用来搜索字符串。

    格式:Instr(“被搜索的字符串”,”欲搜索的字符串”)

    第一个参数是被搜索的字符串,第二个是想要在第一个参数中找到的字符串,如果搜索到想要的字符串,就会返回字符串在被搜索的字符串中由左边算起的第几个字符。

    <script language="vbs">
        a=inputbox("请输入一个英文字母")
        letter="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        b=instr(letter,ucase(a))
        Msgbox a & "是英文字母的第" & b & "个字母"
    </script>

    有时候搜索并不想从第一个字符开始搜索

    Instr(“开始搜索的文字”,“被搜索的字符串”,“欲搜索的字符串”)

    <script language="vbs">
        a="HAPPYHAPPYBOOK"
        b=instr(a,"PY")
        c=instr(5,A,"PY")
        msgbox "b=" & b & "    c=" & c
    </script>

    5.14 Len()函数

     获取字符串的长度 格式:Len("字符串")

    <script language="vbs">
        a=inputbox("HAPPY")
        b=len(a)
        msgbox "您输入的字符串长度为::" & b
    </script>
    <script language="vbs">
        do while len(A)<>1
            a=inputbox("请输入一个英文字母")
        loop
        letter="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        b=instr(letter,ucase(a))
        msgbox a & "是英文字母的第" & b & "个字"
    </script>

    5.15 InstrRev()函数

    InstrRev(“被搜索的字符串”,“欲搜索的字符串”,开始位的置)

    它和 Instr 的区别就是一个是从头开始搜索,一个从后开始

    <script language="vbs">
        a="VBScript IS EASY"
        b=InstrRev(a,"S")
        c=InstrRev(a,"S",5)
        msgbox b
        msgbox c
    </script>

    5.16 Hex(),Oct()函数

     十进制转换成十六进制和八进制

    <script language="vbs">
        a=10000
        b=hex(A)
        c=oct(A)
        msgbox a & "的十六进制是" & b
        msgbox a & "的八进制是" & c
    </script>

    5.17 TRIM()函数

     去掉字符串两边的空格

    <script language="vbscript">
        a="       VBSCRIPT      "
        msgbox a
        a=trim(a)
        msgbox a
    </script>

    5.18 Mid(),left(),right()函数

     left(“字符串”,取几个字)

    right(“字符串”,取几个字)

    mid(“字符串”,第几个字开始,取几个字)

    <script language="vbs">
        a="VBSCRIPT"
        b=left(a,5)
        c=right(a,4)
        d=mid(a,3,3)
        msgbox "b=" & b & "  c=" & c & "  d=" & d
    </script>

    5.19 Replace()函数

     Replace(“字符串”,“要被替代的字”,“替代后的字”)

    <script language="vbs">
        a="SSSSSSSYDDDDDDDDYJ"
        msgbox a
        b=replace(a,"Y","A")
        msgbox b
    </script>

    5.20 ASC()函数 CHR()函数

     一个是将文字转化为ASCII

     一个是将ASCII转化为文字

    <script language="vbs">
        a=inputbox("请输入一个文字")
        msgbox asc(a)
        b=inputbox("请输入一个数字")
        msgbox chr(b)
    </script>

    5.21 String()函数

     重复字符串函数,这个函数要传入两个参数,第一个参数必须是数值,代表所要重复的次数,第二个参数只能是文字,代表所要重复的字。

    格式: Sring(重复几次,“要重复的字”)

    <script language="vbs">
        a=string(5,"B")
        msgbox a
    </script>

    5.22 Filter()函数

    这个数组搜索函数可以搜索数组的数据,将搜索到数据的数组组成一个新数组返回。

    格式:Filter(要搜索的数组,“要搜索的字”)

    <script language="vbs">
        dim a(3)
        a(0)="HAPPYWIN"
        a(1)="HAPPYLEARN"
        a(2)="LEARN"
        a(3)="LEARNHAPPY"
        b=filter(a,"HAPPY")
        for i=0 to ubound(b)
            msg=msg & "b(" & i & ")=" & b(i) & vbcrlf
        next
        msgbox msg
    </script>

    5.23 datepart("w",date())

     一个星期几的返回值

    日期     返回值

    星期日   1

    星期一   2

    星期二   3

    星期三   4

    星期四   5

    星期五   6

    星期六   7

    <script language="vbs">
        msg=datepart("w",date())
        Msgbox msg
    </script>
  • 相关阅读:
    为什么页面设计宽度要控制在960px
    RRDtool运用
    cacti监控jvm
    cacti安装
    rConfig v3.9.2 授权认证与未授权RCE (CVE-2019-16663) 、(CVE-2019-16662)
    Linux安全学习
    Github-Dorks与辅助工具
    警方破获超大DDoS黑产案,20万个僵尸网络运营商被抓
    SRC漏洞挖掘
    威胁情报木马病毒样本搜集
  • 原文地址:https://www.cnblogs.com/zfc2201/p/5579049.html
Copyright © 2020-2023  润新知