[整理版]ASP常用內建函數_應用技巧

來源:互聯網
上載者:User
函數,就是該語言封裝了的一個功能塊,以方便使用者的調用。比如“now()”在VBScript中就是一個能顯示出當前日期和時間的函數。至於具體為什麼能顯示,則是該語言核心所定的,使用者只需明白“now()”就是用來能顯示日期時間的。那麼,我們當前接觸的VBScript還有其他什麼功能的函數嗎?

1,日期/時間函數
這些函數包括對“年”、“月”、“日”、“時”、“分”、“秒”、“星期”等的顯示。

(1)Now函數:根據電腦系統設定的日期和時間,返回當前的日期和時間值。使用方法now();

(2)Date函數:只返回當前電腦系統設定的日期值。使用方法:date();

(3)Time函數:只返回當前電腦系統設定的時間值。使用方法:time();

(4)Year函數:返回一個代表某年的整數。使用方法:year(date),其中date參數是任意的可以代表日期的參數,比如“year(date())”就表示是從“date()”得出的日期中提取其中“年”的整數。
另外,還可以這樣應用:“year(#5 20,2006#)”表示提取“2006年5月20日”中“年”的整數值。關於“5 20,2006”,也可使用“5-20-2006”、“5/20/2006”等形式表現,即“某月某日”和“某年”的組合。同時注意使用“#”進行包括以表示日期值。

(5)Month函數:返回1到12之間的整數值,表示一年中某月。使用方法:month(date)。關於參數date的說明和year函數相同。但要注意日期的正確性,比如“#13-31-2006#”,根本就沒有“13”月,肯定是錯誤的了。

(6)Day函數:返回1到31之間的整數值,表示一個月中的某天。使用方法:day(date)。關於參數date的說明和year函數相同。同樣要注意日期的正確性,比如“#2-30-2006#”其中對“2”月定義的“30”日這天就是錯誤的。

(7)Hour函數:返回0到23之間的整數值,表示一天中的某個小時。使用方法:hour(time)。其中參數time是任意的可代表時間的運算式。比如“hour(time())”就表示是從“time()”得出的時間中提取其中“小時”的整數。同樣,參數time還可以這樣應用“hour(#11:45:50#)”表示從“11”時“45”分“50”秒中提取當前小時數。當然,定義的時間要符合時間的規範。

(8)Minute函數:返回0到59之間的整數值,表示一小時中的某分鐘。使用方法:minute(time)。time參數的說明和hour函數相同。

(9)Second函數:返回0到59之間的整數值,表示一分鐘中的某秒。使用方法:second(time)。time參數的說明和hour函數相同。

(10)Weekday函數:返回一個星期中某天的整數。使用方法:weekday(date)。關於參數date的說明和year函數相同。該函數傳回值為“1”到“7”,分別代表“星期日”、“星期一”……“星期六”。比如當傳回值是“4”時就表示“星期三”。

(11)WeekDayName函數:返回一個星期中具體某天的字串。相對weekday函數而言即翻譯出“星期幾”,使用方法:weekdayname(weekday)。參數weekday即星期中具體某天的數值。比如“weekdayname(weekday(date()))”就表示當前是“星期幾”。因為“date()”表示的是當前的時間,而“weekday(date())”就表示的是一星期中具體某天的整數。

當然weekdayname函數最終顯示的字串內容還與當前作業系統語系有關,比如中文作業系統將顯示“星期一”這類的中文字元,而英文作業系統則顯示為“Mon”(Monday簡寫)。

此外,在VBScript中還有一些關於時間間隔的計算函數:

(1)DateAdd函數:返回指定時間間隔的日期、時間。可以計算出相隔多少年、或相隔幾個月、又或相隔幾個小時等的新日期、時間。使用方法:dateadd(interval, number, date)。

其中參數interval表示需要添加的時間間隔單位。其是以字串的形式表達的,比如“yyyy”表示年,“q”表示季度,“m”表示月份,“d”表示天數,“ww”表示周數,“h”表示小時數,“n”表示分鐘數,“s”表示秒數。

而參數number則表示添加的時間間隔數。其是以數值的形式表達的,可以為負值。參數date則要求是日期、時間的正確格式。

比如dateadd("d",100,"2006-5-20")就表示2006年5月20號以後的100天的日期值:2006-8-28。再比如dateadd("h",-12,"2005-5-20 10:00:00")就表示2005年5月20號上午10點前的12小時的日期時間:2005-5-19 22:00:00。

(2)DateDiff函數:返回兩個日期時間之間的間隔。可計算出兩個日期相隔的年代、小時數等。使用方法:datediff(interval,date1,date2)。

參數interval和dateadd函數中的interval參數內容描述相同,date1和date2參數分別就是相互比較的兩個日期時間。另外,當date1的日期時間值大於date2時,將顯示為負值。

比如DateDiff("yyyy","1982-7-18",date)表示某人的出生到現在已經多少年了。又比如DateDiff("d","1982-7-18","2062-7-18")則計算了80年過了多少天:29220。

2,字串處理函數

在指令碼的功能處理中,通常需要對一些字串進行一些修飾性處理。比如過濾掉字串中的敏感字眼以符合最終顯示的要求;又比如一段較長的字串,需要提取開頭的幾個字元時。

(1)Asc函數:返回字串中第一個字母對應的ANSI字元代碼。使用方法:asc(string)。其中string參數表示字串。

(2)Chr函數:返回指定了ANSI 字元代碼對應的字元。使用方法:chr(chrcode)。參數chrcode是相關的標識數字。該函數的功能和asc函數形成對應。

比如:asc(“a”)表示小寫字母“a”的ANSI 字元“97”;同樣chr(97)表示的就是“小寫字母a”。另外chr(chrcode)中參數chrcode值為0到31的數字時,表示不可列印的ASCII碼。比如“chr(10)”表示分行符號,“chr(13)”表示斷行符號符等,這常用於輸入和顯示格式的轉換中。

(3)Len函數:返回字串內字元的數目(位元組數)。使用方法:len(string)。比如len(“love”)的值就是4。

(4)LCase函數:返回所有字串的小寫形式。使用方法:lcase(string)。比如lcase(“CNBruce”)返回為“cnbruce”。

(5)UCase函數:返回所有字串的大寫形式。與lcase函數形成對應。同樣,ucase(“CNBruce”)返回為“CNBRUCE”。

(6)Trim函數、LTrim函數和RTrim函數:分別返回前置和後續不帶空格、前置不帶空格或後續不帶空格的字串內容。比如:

trim(“ cnbruce ”)返回為“cnbruce”,前置和後續都不帶空格;
ltrim(“ cnbruce ”)返回為“cnbruce ”,前置不帶空格;
rtrim(“ cnbruce ”)返回為“ cnbruce”,後續不帶空格;

該函數常用於註冊資訊中,比如確保註冊使用者名稱前或後的空格。

(7)Left函數:返回從字串的左邊算起的指定數目的字元。使用方法:left(string,length)。比如left(“brousce”,5)返回為“brous”,即前五位字元。

(8)Right函數:返回從字串的左邊算起的指定數目的字元。使用方法:right(string,length)。比如right(“brousce”,4)返回為“usce”,即後四位字元。

(9)instr函數:返回某字串在另一字串中第一次出現的位置。比如現在尋找字母“A”在字串“A110B121C119D1861”中第一次出現的位置,則可以 instr(my_string,"A110B121C119D1861")

(10)Mid函數:從字串中返回指定數目的字元。比如現在的“110”則應該是從字串“A110B121C119D1861”的第2位取得3個單位的值:mid("A110B121C119D1861",2,3)

(11)Replace函數:在字串中尋找、替代指定的字串。replace(strtobesearched,strsearchfor,strreplacewith)其中strtobesearched是字串,strsearchfor是被尋找的子字串,strreplacewith是用來替代的子字串。比如 replace(rscon,"<","<") 則表示將rscon中所有“<”的字元替換為“<”

3,類型轉換函式

Cbool(string) 轉換為布爾值
Cbyte(string) 轉換為位元組類型的值
Ccur(string) 轉換為貨幣類值
Cdate(string) 轉換為日前類型的值
Cdbl(string) 轉換為雙精確度值
Cint(string) 轉換為整數值
Clng(string) 轉換為長整型的值
Csng(string) 轉換為單精確度的值
Cstr(var) 轉換為字串值
Str(var) 數值轉換為字串
Val(string) 字串轉換為數值

4,運算函數

Abs(nmb) 返回數子的絕對值
Atn(nmb) 返回一個數的反正切
Cos(nmb) 返回一個角度的餘炫值
Exp(nmb) 返回自然指數的次方值
Int(nmb) 返回數位整形(進位)部份
Fix(nmb) 返回數位整形(捨去)部份
Formatpercent(運算式) 返回百分比
Hex(nmb) 返回資料的16進位數
Log(nmb) 返回自然對數
Oct(nmb) 返回數位8進位數
Rnd 返回大於“0”而小於“1”的隨機數,但此前需 randomize 聲明產生隨機種子
Sgn(nmb) 判斷一個數位加號或減號
Sin(nmb) 返回角度的正鉉值
Sqr(nmb) 返回數位二次方根
Tan(nmb) 返回一個數的正切值

5,其他函數

IsArray(var) 判斷一個變數是否是數組
IsDate(var) 判斷一個變數是否是日期
IsNull(var) 判斷一個變數是否為空白
IsNumeric(var) 判斷運算式是否包含數值
IsObject(var) 判斷一個變數是否是對象
TypeName(var) 返回變數的資料類型
Array(list) 返回數組
Split(liststr) 從一個列表字串中返回一個一維數組
LBound(arrayP 返回數組的最小索引
Ubound(array) 返回數組的最大索引
CreateObject(class) 建立一個對象
GetObject(pathfilename) 得到檔案對象

原始版
http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=245
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.