存档

文章标签 ‘ASP’

ASP函数集

2008年3月19日 1 条评论

1.函数array() 
功能:创建一个数组变量 
格式:array(list) 
参数:list 为数组变量中的每个数值列,中间用逗号间隔 
例子: 
<% i = array (“1”,”2”,”3”) %> 
结果: i 被赋予为数组

2.函数Cint() 
功能:将一表达式/其它类型的变量转换成整数类型(int) 
格式:Cint(expression) 
参数:expression 是任何有效的表达式/其它类型的变量 
例子: 
<% 
f = ”234” 
response.write cINT(f) + 2 
%> 
结果: 236 
函数Cint()将字符”234”转换 成整数234.如果表达式为空, 或者无效时,返回值为0;

3.函数:Creatobject() 
功能:创建及返回一个ActiveX对象. 
格式:Creatobject(obname) 
参数bname 是对象的名称 
例子: 
<% 
Set con = Server.CreateObject(“ADODB.Connection”) 
%> 
结果: 

4.函数Cstr() 
功能:将一表达式/其它类型的变量转换成字符类型(string) 
格式:Cstr(expression) 
参数:expression是任何有效的表达式/其它类型的变量 
例子: 
<% 
s = 3 + 2 
response.write ”The result is: ” & cStr(s) 
%> 
结果:函数Cstr()将整数 5 转换 成字符”5”. 

5.函数Date() 
功能:返回当前系统(server端)的日期 
格式: Date() 
参数:无 
例子<% date () %> 
结果:05/10/00 

5.1 Instr()
函数返回字符或字符串在另一个字符串中第一次出现的位置.
表达式 Instr([start, ] strToBeSearched, strSearchFor [, compare])
允许数据类型: Start为搜索的起始值,strToBeSearched接受搜索的字符串 strSearchFor要搜索的字符.compare比较方式(详细见ASP常数)
实例: <%strText = "This is a test!!"
pos = Instr(strText, "a")
response.write pos%>
返回结果: 9

6.函数Dateadd() 
功能:计算某个指定的时间和 
格式: dateadd(timeinterval,number,date) 
参数:timeinterval是时间单位(月,日..); number是时间间隔值,date是时间始点. 
例子: 
<% 
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 
%> 
结果: 
11/4/99 
3:34:45 PM 
其中 
“m” = ”month”; 
“d” = ”day”; 
如果是currentDate 格式,则, 
“h” = ”hour”; 
“s” = ”second”; 

7.函数Datediff() 
功能:计算某量个指定的时间差 
格式: datediff(timeinterval,date1,date2[,firstdayofweek[,firstdayofyear]]) 
参数: timeinterval 是时间单位; date1,date2是有效的日期表达式,firstdayofweek,firstdayofyear 是任意选项. 
例子: 
<% 
fromDate = #8/4/99# 
toDate = #1/1/2000# 
response.write ”There are ” & _ 
DateDiff(“d”,fromDate,toDate) & _ 
“ days to millenium from 8/4/99.” 
%> 
结果:There are 150 days to millenium from 8/4/99. 

8.函数day() 
功能:返回一个整数值,对应于某月的某日 
格式: day(date) 
参数: date是一个有效的日期表达式; 
例子<% =date(#8/4/99#) %> 
结果:4 

9.函数formatcurrency() 
功能:转换成货币格式 
格式: formatcurrency(expression [,digit[,leadingdigit[,paren[,groupdigit]]]]) 
参数: expression 是有效的数字表达式;digit表示小数点后的位数;leadingdigit,paren,groupdigit是任意选项. 
例子<%=FormatCurrency(34.3456)%> 
结果34.35 

10.函数Formatdatetime() 
功能:格式化日期表达式/变量 
格式: formatdatetime(date[,nameformat]) 
参数: date为有效的日期表达式/变量;nameformat是指定的日期格式常量名称. 
例子<% =formatdatetime(“08/04/99”,vblongdate) %> 
结果:Wednesday,August 04,1999 
说明: 
描述
返回表达式,此表达式已被格式化为日期或时间。 
语法
FormatDateTime(Date[, NamedFormat])
FormatDateTime 函数的语法有以下参数:
参数 描述 
Date 必选项。要被格式化的日期表达式。 
NamedFormat 可选项。指示所使用的日期/时间格式的数值,如果省略,则使用 vbGeneralDate。 
设置
NamedFormat 参数可以有以下值:
常数 值 描述 
vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则将该部分显示为短日期格式。如果有时间部分,则将该部分显示为长时间格式。如果都存在,则显示所有部分。 
vbLongDate 1 使用计算机区域设置中指定的长日期格式显示日期。 
vbShortDate 2 使用计算机区域设置中指定的短日期格式显示日期。 
vbLongTime 3 使用计算机区域设置中指定的时间格式显示时间。 
vbShortTime 4 使用 24 小时格式 (hh:mm) 显示时间。 
说明
下面例子利用 FormatDateTime 函数把表达式格式化为长日期型并且把它赋给 MyDateTime: 
Function GetCurrentDate 
“FormatDateTime 把日期型格式化为长日期型。
GetCurrentDate = FormatDateTime(Date, 1) 
End Function

11.函数Isnumeric() 
功能:返回一个布尔值,判断变量是否为数字变量,或者是可以转换成数字的其它变量. 
格式:isnumeric(expression) 
参数:expression 是任意的变量. 
例子: 
<% 
i=“234” 
response.write isnumeric(i) 
%> 
结果: true. 

12.函数Isobject() 
功能:返回一个布尔值,判断变量是否为对象的变量, 
格式: isobject(expression) 
参数: expression 是任意的变量. 
例子: 
<% 
set con =server.creatobject(“adodb.connection”) 
response.write isobject(con) 
%> 
结果: true 

13.函数:Lbound() 
功能:返回一个数组的下界. 
格式:Lbound(arrayname[,dimension]) 
参数:arrayname 是数组变量,dimension 是任意项 
例子: 
<% 
i = array(“1”,”2”,”3”) 
response.write lbound(i) 
%> 
结果:0

14.函数Lcase() 
功能:将一字符类型变量的字符全部变换小写字符. 
格式:Lcase(string) 
参数:string是字符串变量 
例子: 
<% 
str=“THIS is Lcase!” 
response.write Lcase(str) 
%> 
结果:this is lcase! 

15.函数left() 
功能:截取一个字符串的前部分; 
格式:left(string,length) 
参数:string字符串,length截取的长度. 
例子: <% =left(“this is a test!”,6) %> 
结果:this i 

16.函数len() 
功能:返回字符串长度或者变量的字节长度 
格式:len(string *varname) 
参数:string字符串;varname任意的变量名称 
例子: 
<% 
strtest=“this is a test!” 
response.write left(strtest) 
%> 
结果:15 

17.函

分类: ASP学习 标签:

两种Z-Blog可用的ASP验证码

2007年10月5日 4 条评论

Z-Blog 1.7以及以前版本的验证码比较单一;不过再怎么说也比以前本人使用的LBS的验证在防止垃圾引用方面要好了许多。今天从Z-blog开发者之一Sipo那里看到关于验证码的最新文章,并且测试了一下他推荐的两种验证码,效果都相当不错。我采用了其中一种。

ZxMYS版本Z-blog验证码:http://zxmys.com/post/165.html  下载地址:http://www.dc9.cn/upload/c_validcode70404.rar
Sipo版本的Z-blog验证码:http://www.dc9.cn/post/391.html下载地址:http://zxmys.com/upload/c_validcode.rar

使用方法:将解压文件上传到function下对原有的c_validcode.asp文件直接覆盖就行了。

对于垃圾引用垃圾评论的问题相信大家都是深恶痛绝的,Sipo在文章中说“新版本1.8的目的或者说宗旨,是要把机器SPAM的数量降低到接近0,误杀率接近0…”我们看到Sipo的Z-blog1.8版本已经使用了最新的验证码,不过代码还没发布,应该还处于测试阶段——对于新版验证码的发布,我们一起期待。

分类: 实用资源 标签: ,

ASP时间函数全解

2007年9月25日 没有评论

now() 获取当前系统日期和时间,ASP输出可以这样写:<%=now()%>

Year(now()) 获取年份, ASP输出:<%=Year(now())%>

Month(now()) 获取当前月份,ASP输出:<%=Month(now())%>

day(now()) 获取当天数,ASP输出:<%=day(now())%>

Minute(now()) 获取分钟数,ASP输出:<%=Minute(now())%>

Second(now()) 获取秒钟数,ASP输出:<%=Second(now())%>

date() 获取当前系统日期,格式为:2004-2-28

time() 获取当前系统时间,格式为:22:24:59

以2005-5-2 22:37:30星期一为例:

2005-5-2:<%=date()%>
2005:<%=year(date())%>
5:<%=month(date())%>
2:<%=day(date())%>

22:<%=hour(now())%>
37:<%=minute(now())%>
30:<%=second(now())%>

星期一:<%=weekdayname(weekday(now)) %>

ASP时间函数详解
Date 函数
描述:返回当前系统日期。
语法:Date

DateAdd 函数
描述:返回已添加指定时间间隔的日期。
语法:DateAdd(interval, number, date)
interval: 必选。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。
number: 必选。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数(得到未来的日期)或负数(得到过去的日期)。
date: 必选。Variant 或要添加 interval 的表示日期的文字。
interval 参数可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)
说明:可用 DateAdd 函数从日期中添加或减去指定时间间隔。例如可以使用 DateAdd 从当天算起 30 天以后的日期或从现在算起 45 分钟以后的时间。要向 date 添加以“日”为单位的时间间隔,可以使用“一年的日数”(“y”)、“日”(“d”)或“一周的日数”(“w”)。
DateAdd 函数不会返回无效日期。如下示例将 95 年 1 月 31 日加上一个月:
NewDate = DateAdd("m", 1, "31-Jan-95")
在这个例子中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 为 96 年 1 月 31 日,则返回 96 年 2 月 29 日,这是因为 1996 是闰年。
如果计算的日期是在公元 100 年之前则会产生错误。
如果 number 不是 Long 型值,则在计算前四舍五入为最接近的整数。

DateDiff 函数
描述:返回两个日期之间的时间间隔。
语法:DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear>)
interval: 必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。
date1, date2: 必选。日期表达式。用于计算的两个日期。
firstdayofweek: 可选。指定星期中第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
firstweekofyear: 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。
interval 参数可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)
firstdayofweek 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。
说明:DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。
要计算 date1 和 date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 date1 是星期一,则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 date1 和 date2 之间星期日的数目。如果 date2 是星期日,DateDiff 将计算 date2,但即使 date1 是星期日,也不会计算 date1。
如果 date1 晚于 date2,则 DateDiff 函数返回负数。
firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。
如果 date1 或 date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。
在 interval 为“年”(“yyyy”)时,比较 12 月 31 日和来年的 1 月 1 日,虽然实际上只相差一天,DateDiff 返回 1 表示相差一个年份。

DatePart 函数
描述:返回给定日期的指定部分。
语法:DatePart(interval, date[, firstdayofweek[, firstweekofyear>)
DatePart: 函数的语法有以下参数:
interval: 必选。字符串表达式,表示要返回的时间间隔。有关数值,请参阅“设置”部分。
date: 必选。要计算的日期表达式。
firstdayof week: 可选。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。
firstweekofyear: 可选。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。
interval 参数可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)
firstdayofweek 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 参数可以有以下值:
(以下分别为:常数 值 描述)
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周(不跨年度)开始。
说明:DatePart 函数用于计算日期并返回指定的时间间隔。例如使用 DatePart 计算某一天是星期几或当前的时间。
firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。
如果 date 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date 被包含在引号 (" ") 中,并且省

分类: ASP学习 标签:

ASP的19个基本技巧

2007年3月8日 评论已被关闭

1. 现在的日期时间命令是
<%=now%> 即可

2.ASP取得表格(from)数据输入的方法,是使用一个内置的对象(object)—Requect,
它以get,post而异。

3.若要自己用VB或其它语言编写,.dll文件供ASP使用需将DLL文件注册方可:DOS下
输入 regsbr32 *.dll

4.显示五个重复的句子,字体越来越大
<% for i=1 to 5 %>
<font size=<% =i %> color=#00ffff>
快速ASP
</font>
<br>
<% next %>

5.传送字符串到用户端
response.write string
如:<% response.write "Welcome" %>

6.链接到指定的URL地址
response.redirect url
如:
<% response.redirect "homepage.asp"
%>

*但是如果此.ASP的文件内容已经传送到用户断,则再用redirect时会发生错误。

7.其他语言与ASP的结合:
如:早上显示早安,下午显示你好
<%
if time>+#12:00:00 AM# and time<#12:00:00 PM #
then
greeting="早安!"
else
greeting="你好!"
end if
%>
<%=greeting %>

8.<script>标记在ASP中的应用
例:

<html>
<body>
<% call function1 %>
</body>
</html>
<script runat=server language=javascript>
function function1()
{

}
</script>

9.#include 包括其它文件
<!–#include virtual|file="filename"–>
virtual指虚拟的文件地址。
file 代表绝对的文件地址。
如:
<!–#include virtual="/booksamp/test.asp"–>
<!–#include file="/test/test.asp"–>

而且可以层层嵌套。另外#include 不能在<%–%>之内

10.ASP取得表格输入数据的方法
:GET POST
一.get:用户端将数据加到URL后,格式为”?字段1=输入数据1&字段2=输入数据2&…",
再将其送到服务器。
如: action为www.abc.com, 字段Name输入数据为jack,字段age的数据为15,则用get方法为
http://www.abc.com?Name=jack&Age=15

二.post:用户端用http信息数据传送到服务器
ASP中:
get:使用“输入数据= Request.QueryString("字段名")",将附加于URL的数据取出。
post:使用“输入数据=Request.Forml"(字段名")",读取HTTP信息数据字段。
* Request.QueryString范例
如:〈A hery="aspform.asp?Name=jack&Age=15">
按此〈/A〉〈p〉
Name:<%=request.QueryString("Name")%)
Age:<%=request.QeueryString("Age")%)
* get 范例
·aspturm.asp:
<form action="asp1b.asp" method="get">
姓名: <input type=text name="input1" value="Your name">
<p>
特征: <select name="input2">
<option>cool!
<option>handsome
<option>warmhearted
</select>
<input type=submit value="ok">
</form>
asp1b.asp的内容
<html><body>
<% =request.querystring("input1") %> hi, your character is
<%= request.querystring("input2") %>
</body></html>
11.request.From
语法: request.From(name)[(index)|.count]
name:字段名
index:当同一字段输入多个值时,指针值index指定要读取同一字段的那一个值,范围由1到
request.From(name).count
count:由request.From(name).count可知name字段输入几个值,若无此name字段,count为0

如下例:
<%
forI=1 to request.fron("input1").count
response.write request.From("input1")(I)&"<br>"
next
%>
若input1有两个值则都显示出
*若未采用index指定读取哪个.可用
〈%
for each item request.From("input"))
repomse.write item &"<br>"
next
%>
也可用" for each x in tewuest.From"重复取得所有字段的输入值。

<% for each x in request.Form %>
request.From (<%=x%)=<%=request.Form
(x)%> <br>
<% next %>

12.获取客户端TCP/IP端口的方法:
如: tcp/ip port is <%=request("server_port")%>
使用server_port可以得到接收HTTP request的连接port信息

13.通过HTTP_ACCEPT_LANGUAGE的HTTP表头信息,可以得到用户端的使用语言
环境.
以下例子判断用户端的语言环境,给出不同的页面.
<% language=request.servervariables("HTTP_ACCEPT_LANGUAGE")
if language="en" then %>
<!–#include file="english.asp">
<% else %>
<!–#include file="china.asp">
<% end if%>

14.主页保留的期限
如果用户端浏览器在一个主页保留的期限内,再度浏览此主页,则原在用
户端硬盘上的主页内容将被显示.
response.expires[=number]
其中NUMBER为记录数据盒(PAGE BOX)的保留期限,单位是分钟.
或:
response.expiresabsolute[=[date][time]]
如:设定一个主页保留期到某个日子.

15.连接到指定的URL地址
如:你希望确认用户已经看过INDEX.HTM,则可以检查是否已经看过,如
尚未确认,则自动连接到首页
<%
if not session("BEEN_to_home_page") then
response.redirect "index.asp"
end if
%>

16.判断是回到本页还是第一次进入
<%
if user_has_been_here_before then
response.write "<h3 align=center> Welcome Back
again"
else
response.write "Welcome!"
end if
%>

17.显示数据库中的图片与超级连接

<%
set conn=server.creatobject("ADODB.connection")
conn.open "myaddress"
set rs=conn.execute("select name,tel,url,image from
myaddress")
%>

<p>
<tabel>
<tr>
<% for i=0 to rs.fields.count-1 %>
<td>
<b>
<%=rs(i).name %>
</b>
</td>
<% next %>
</tr>
<% do while not rs.eof %>
<tr>
<% for i=0 to rs.fields.count-1 %>
<td valign =top>
<%
if rs(i).name="image" then
response.write "<img src="""&rs(i)&""" >"
else
if rs(i).name="url" then
response.write "<a href="""&rs(i)&""">"&rs(i)&"</a>"
else
response.write rs(i)
end if
end if
%>
</td>
<%next%>
</tr>
<% rs.movenext
loop
rs.close
conn.close
%>
</html>

18. 用ASP取得浏览器信息
<%
set a=server.creatobject("MSWC.BROWSERTYPE")
msg="您使用的浏览器是:"+a.browser+"version"+a.version
%>
<%=msg%>

19. asp访问cookies的方式(使用response和request)
如下:
写入cookies:
response.cookies("待写入的coookies名称")
="待写入数据“
读取cookies:
读取数据=request.cookies("待读的cookies名称")

* 写入时注意
@ 写入cookies的response.cookies程序段必须放在<html>标记
之前。而且不可以有任何的其他html代码
@ COOKIES中必须使用expires设定有效期, COOKIES才能真正的
写入客户端硬盘中。如:
response.cookies("待写入的名称“).expires=#july 1,1998#
或response.cookies("名称").expi
res=DATE+365

分类: ASP学习 标签: ,