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)&"<br></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),"<br>")
 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  
分类:  Javascript

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2007/12/24/1012230.html,如需转载请自行联系原作者
相关文章
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
41 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
95 5
|
8月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
116 0
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
113 0
|
9月前
|
SQL 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(开篇)
[回馈]ASP.NET Core MVC开发实战之商城系统(开篇)
144 0
|
9月前
|
开发框架 缓存 JSON
ASP.NET Core MVC 从入门到精通之Filter
ASP.NET Core MVC 从入门到精通之Filter
120 0
|
9月前
|
开发框架 前端开发 .NET
ASP.NET Core MVC 从入门到精通之自动映射(二)
ASP.NET Core MVC 从入门到精通之自动映射(二)
60 0
|
5月前
|
开发框架 自然语言处理 前端开发
基于ASP.NET MVC开发的、开源的个人博客系统
基于ASP.NET MVC开发的、开源的个人博客系统
52 0
|
8月前
|
SQL 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(完:内附源码)
经过一段时间的准备,【ASP.NET Core MVC开发实战之商城系统】已经完成,目前代码已开发完成,先将全部内容整理分享,如有不足之处,还请指正。
107 0