asp经典代码语录asp

/ / 2016-01-28   阅读:2493
<% ’判断文件名是否合法 Function isFilename(aFilename)  Dim sErrorStr,iNameLength,i  isFilename=TRUE  sErrorStr=Array("/","",":","*","?","""","<",">","|")  iNameL...

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

<script>alert("今天星期"+"天一二三四五六".charAt(new Date().getDay()));</script>

<input type=checkbox name=mm value=a onclick="Item(this, 'mmAll')"><br/>
<input type=checkbox name=mm value=b onclick="Item(this, 'mmAll')"><br/>
<input type=checkbox name=mm value=c onclick="Item(this, 'mmAll')"><br/>
<input type=checkbox name=mm value=d onclick="Item(this, 'mmAll')"><br/>
<input type=checkbox name=mm value=e onclick="Item(this, 'mmAll')"><br/><br/>
<input type=checkbox name=mmAll onclick="All(this, 'mm')">全选与不全选的切换

<script language=Javascript>
function All(e, itemName)
{
  var aa = document.getElementsByName(itemName);
  for (var i=0; i<aa.length; i++)
   aa[i].checked = e.checked; //得到那个总控的复选框的选中状态
}
function Item(e, allName)
{
  var all = document.getElementsByName(allName)[0];
  if(!e.checked) all.checked = false;
  else
  {
    var aa = document.getElementsByName(e.name);
    for (var i=0; i<aa.length; i++)
     if(!aa[i].checked) return;
    all.checked = true;
  }
}
</script>

只能输汉字:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"

只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

让层不被控件复盖代码:
<div z-Index:2><object xxx></object></div> # 前面
<div z-Index:1><object xxx></object></div> # 后面
<div id="Layer2" style="position:absolute; top:40;width:400px; height:95px;z-

index:2"><table height=100% width=100% bgcolor="#ff0000"><tr><td height=100% width=100%

></td></tr></table><iframe width=0 height=0></iframe></div>
<div id="Layer1" style="position:absolute; top:50;width:200px; height:115px;z-

index:1"><iframe height=100% width=100%></iframe></div>
15.动网FLASH广告代码:
<object classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000"

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0

,0" width="468" height="60"><param name=movie value="images/yj16d.swf"><param name=quality

value=high><embed src="images/dvbanner.swf" quality=high

pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?

P1_Prod_Version=ShockwaveFlash"; type="application/x-shockwave-flash" width="468"

height="60"></embed></object>

使用FSO读取文件内容的函数
function FSOFileRead(filename)
Dim objFSO,objCountFile,FiletempData
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objCountFile = objFSO.OpenTextFile(Server.MapPath(filename),1,True)
FSOFileRead = objCountFile.ReadAll
objCountFile.Close
Set objCountFile=Nothing
Set objFSO = Nothing
End Function
18.使用FSO读取文件某一行的函数
function FSOlinedit(filename,lineNum)
if linenum < 1 then exit function
dim fso,f,temparray,tempcnt
set fso = server.CreateObject("scripting.filesystemobject")
if not fso.fileExists(server.mappath(filename)) then exit function
set f = fso.opentextfile(server.mappath(filename),1)
if not f.AtEndofStream then
tempcnt = f.readall
f.close
set f = nothing
temparray = split(tempcnt,chr(13)&chr(10))
if lineNum>ubound(temparray)+1 then
exit function
else
FSOlinedit = temparray(lineNum-1)
end if
end if
end function
19.使用FSO写文件某一行的函数
function FSOlinewrite(filename,lineNum,Linecontent)
if linenum < 1 then exit function
dim fso,f,temparray,tempCnt
set fso = server.CreateObject("scripting.filesystemobject")
if not fso.fileExists(server.mappath(filename)) then exit function
set f = fso.opentextfile(server.mappath(filename),1)
if not f.AtEndofStream then
tempcnt = f.readall
f.close
temparray = split(tempcnt,chr(13)&chr(10))
if lineNum>ubound(temparray)+1 then
exit function
else
temparray(lineNum-1) = lineContent
end if
tempcnt = join(temparray,chr(13)&chr(10))
set f = fso.createtextfile(server.mappath(filename),true)
f.write tempcnt
end if
f.close
set f = nothing
end function
20.使用FSO添加文件新行的函数
function FSOappline(filename,Linecontent)
dim fso,f
set fso = server.CreateObject("scripting.filesystemobject")
if not fso.fileExists(server.mappath(filename)) then exit function
set f = fso.opentextfile(server.mappath(filename),8,1)
f.write chr(13)&chr(10)&Linecontent
f.close
set f = nothing
end function
21.读文件最后一行的函数
function FSOlastline(filename)
dim fso,f,temparray,tempcnt
set fso = server.CreateObject("scripting.filesystemobject")
if not fso.fileExists(server.mappath(filename)) then exit function
set f = fso.opentextfile(server.mappath(filename),1)
if not f.AtEndofStream then
tempcnt = f.readall
f.close
set f = nothing
temparray = split(tempcnt,chr(13)&chr(10))
FSOlastline = temparray(ubound(temparray))
end if
end function 

 

ServerVariables 集合检索预定的环境变量。

语法
Request.ServerVariables (server environment variable)

参数
服务器环境变量
指定要检索的服务器环境变量名。可以使用下面列出的值。变量 说明
ALL_HTTP 客户端发送的所有 HTTP 标题文件。
ALL_RAW 检索未处理表格中所有的标题。ALL_RAW 和 ALL_HTTP 不同,ALL_HTTP 在标题文件名前面放置 HTTP_ prefix,并且标题名称总是大写的。使用 ALL_RAW 时,标题名称和值只在客户端发送时才出现。
APPL_MD_PATH 检索 ISAPI DLL 的 (WAM) Application 的元数据库路径。
APPL_PHYSICAL_PATH 检索与元数据库路径相应的物理路径。IIS 通过将 APPL_MD_PATH 转换为物理(目录)路径以返回值。
AUTH_PASSWORD 该值输入到客户端的鉴定对话中。只有使用基本鉴定时,该变量才可用。
AUTH_TYPE 这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。
AUTH_USER 未被鉴定的用户名。
CERT_COOKIE 客户端验证的唯一 ID,以字符串方式返回。可作为整个客户端验证的签字。
CERT_FLAGS 如有客户端验证,则 bit0 为 1。
如果客户端验证的验证人无效(不在服务器承认的 CA 列表中),bit1 被设置为 1。

CERT_ISSUER 用户验证中的颁布者字段(O=MS,OU=IAS,CN=user name,C=USA)。
CERT_KEYSIZE 安全套接字层连接关键字的位数,如 128。
CERT_SECRETKEYSIZE 服务器验证私人关键字的位数。如 1024。
CERT_SERIALNUMBER 用户验证的序列号字段。
CERT_SERVER_ISSUER 服务器验证的颁发者字段。
CERT_SERVER_SUBJECT 服务器验证的主字段。
CERT_SUBJECT 客户端验证的主字段。
CONTENT_LENGTH 客户端发出内容的长度。
CONTENT_TYPE 内容的数据类型。同附加信息的查询一起使用,如 HTTP 查询 GET、 POST 和 PUT。
GATEWAY_INTERFACE 服务器使用的 CGI 规格的修订。格式为 CGI/revision。
HTTP_<HeaderName> HeaderName 存储在标题文件中的值。未列入该表的标题文件必须以 HTTP_ 作为前缀,以使 ServerVariables 集合检索其值。
注意 服务器将 HeaderName 中的下划线(_)解释为实际标题中的破折号。例如,如果您指定 HTTP_MY_HEADER,服务器将搜索以 MY-HEADER 为名发送的标题文件。

HTTPS 如果请求穿过安全通道(SSL),则返回 ON。如果请求来自非安全通道,则返回 OFF。
HTTPS_KEYSIZE 安全套接字层连接关键字的位数,如 128。
HTTPS_SECRETKEYSIZE 服务器验证私人关键字的位数。如 1024。
HTTPS_SERVER_ISSUER 服务器验证的颁发者字段。
HTTPS_SERVER_SUBJECT 服务器验证的主字段。
INSTANCE_ID 文本格式 IIS 实例的 ID。如果实例 ID 为 1,则以字符形式出现。使用该变量可以检索请求所属的(元数据库中)Web 服务器实例的 ID。
INSTANCE_META_PATH 响应请求的 IIS 实例的元数据库路径。
LOCAL_ADDR 返回接受请求的服务器地址。如果在绑定多个 IP 地址的多宿主机器上查找请求所使用的地址时,这条变量非常重要。
LOGON_USER 用户登录 Windows NT&reg; 的帐号。
PATH_INFO 客户端提供的额外路径信息。可以使用这些虚拟路径和 PATH_INFO 服务器变量访问脚本。如果该信息来自 URL,在到达 CGI 脚本前就已经由服务器解码了。
PATH_TRANSLATED PATH_INFO 转换后的版本,该变量获取路径并进行必要的由虚拟至物理的映射。
QUERY_STRING 查询 HTTP 请求中问号(?)后的信息。
REMOTE_ADDR 发出请求的远程主机的 IP 地址。
REMOTE_HOST 发出请求的主机名称。如果服务器无此信息,它将设置为空的 MOTE_ADDR 变量。
REMOTE_USER 用户发送的未映射的用户名字符串。该名称是用户实际发送的名称,与服务器上验证过滤器修改过后的名称相对。
REQUEST_METHOD 该方法用于提出请求。相当于用于 HTTP 的 GET、HEAD、POST 等等。
SCRIPT_NAME 执行脚本的虚拟路径。用于自引用的 URL。
SERVER_NAME 出现在自引用 UAL 中的服务器主机名、DNS 化名或 IP 地址。
SERVER_PORT 发送请求的端口号。
SERVER_PORT_SECURE 包含 0 或 1 的字符串。如果安全端口处理了请求,则为 1,否则为 0。
SERVER_PROTOCOL 请求信息协议的名称和修订。格式为 protocol/revision 。
SERVER_SOFTWARE 应答请求并运行网关的服务器软件的名称和版本。格式为 name/version 。
URL 提供 URL 的基本部分。


注释
如果客户端发送的标题文件在上述表格中找不到,可以在调用 Request.ServerVariables 中给标题文件名加上 HTTP_ 的前缀以检索其值。例如,如果客户端发送标题文件

SomeNewHeader:SomeNewValue

您可以通过使用下面的语法检索 SomeNewValue

<% Request.ServerVariables("HTTP_SomeNewHeader") %>

您可使用重述符以循环遍历所有的服务器变量名。例如,使用下面的脚本打印出所有的服务器名。

<TABLE>
<TR><TD><B>Server Variable</B></TD><TD><B>Value</B></TD></TR>
<% For Each name In Request.ServerVariables %>
<TR><TD> <%= name %> </TD><TD> <%= Request.ServerVariables(name) %> </TD></TR>
</TABLE>
<% Next %>

示例
下面的例子使用 Request 对象显示一些服务器变量。

<HTML>
<!-- This example displays the content of several ServerVariables. -->
ALL_HTTP server variable =
<%= Request.ServerVariables("ALL_HTTP") %> <BR>
CONTENT_LENGTH server variable =
<%= Request.ServerVariables("CONTENT_LENGTH") %> <BR>
CONTENT_TYPE server variable =
<%= Request.ServerVariables("CONTENT_TYPE") %> <BR>
QUERY_STRING server variable =
<%= Request.ServerVariables("QUERY_STRING") %> <BR>
SERVER_SOFTWARE server variable =
<%= Request.ServerVariables("SERVER_SOFTWARE") %> <BR>
</HTML>

下一个示例使用 ServerVariables 集合将服务器名插入一个超文本链接。

<A HREF = "http://<%= Request.ServerVariables("SERVER_NAME") %>
/scripts/MyPage.asp">Link to MyPage.asp</A>

条型码code-128 c类编码,调用produceHTML(str),code-128 c类的编码规则,自己去查。
这个也有php版,是国外的一个人写的,不过他的php版有一些bug,我从他的php版改来的,写得乱七八糟的,大家自己整理。

<%
            ascii= " !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
dim arr128(106)
arr128(0)= "212222"'c类有自己的规则,这里的数字是表示白黑条的宽度
arr128(1)= "222122"
arr128(2)= "222221"
arr128(3)= "121223"
arr128(4)= "121322"
arr128(5)= "131222"
arr128(6)= "122213"
arr128(7)= "122312"
arr128(8)= "132212"
arr128(9)= "221213"
arr128(10)= "221312"
arr128(11)= "231212"
arr128(12)= "112232"
arr128(13)= "122132"
arr128(14)= "122231"
arr128(15)= "113222"
arr128(16)= "123122"
arr128(17)= "123221"'1
arr128(18)= "223211"
arr128(19)= "221132"
arr128(20)= "221231"
arr128(21)= "213212"
arr128(22)= "223112"
arr128(23)= "312131"
arr128(24)= "311222"
arr128(25)= "321122"'9
arr128(26)= "321221"
arr128(27)= "312212"
arr128(28)= "322112"
arr128(29)= "322211"
arr128(30)= "212123"
arr128(31)= "212321"
arr128(32)= "232121"
arr128(33)= "111323"
arr128(34)= "131123"
arr128(35)= "131321"
arr128(36)= "112313"
arr128(37)= "132113"
arr128(38)= "132311"
arr128(39)= "211313"
arr128(40)= "231113"
arr128(41)= "231311"
arr128(42)= "112133"
arr128(43)= "112331"
arr128(44)= "132131"
arr128(45)= "113123"
arr128(46)= "113321"
arr128(47)= "133121"
arr128(48)= "313121"
arr128(49)= "211331"
arr128(50)= "231131"
arr128(51)= "213113"
arr128(52)= "213311"
arr128(53)= "213131"
arr128(54)= "311123"
arr128(55)= "311321"
arr128(56)= "331121"
arr128(57)= "312113"
arr128(58)= "312311"
arr128(59)= "332111"
arr128(60)= "314111"
arr128(61)= "221411"
arr128(62)= "431111"
arr128(63)= "111224"
arr128(64)= "111422"
arr128(65)= "121124"
arr128(66)= "121421"
arr128(67)= "141122"
arr128(68)= "141221"
arr128(69)= "112214"
arr128(70)= "112412"
arr128(71)= "122114"
arr128(72)= "122411"
arr128(73)= "142112"
arr128(74)= "142211"
arr128(75)= "241211"
arr128(76)= "221114"
arr128(77)= "413111"
arr128(78)= "241112"
arr128(79)= "134111"
arr128(80)= "111242"
arr128(81)= "121142"
arr128(82)= "121241"
arr128(83)= "114212"
arr128(84)= "124112"
arr128(85)= "124211"
arr128(86)= "411212"
arr128(87)= "421112"
arr128(88)= "421211"
arr128(89)= "212141"
arr128(90)= "214121"
arr128(91)= "412121"
arr128(92)= "111143"
arr128(93)= "111341"
arr128(94)= "131141"
arr128(95)= "114113"
arr128(96)= "114311"
arr128(97)= "411113"
arr128(98)= "411311"
arr128(99)= "113141"
arr128(100)= "114131"
arr128(101)= "311141"
arr128(102)= "411131"
arr128(103)= "211412"
arr128(104)= "211214"
arr128(105)= "211232"
arr128(106)= "2331112"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function produceArray(intext)
'response.write  intext
'response.end
total = 104
'//// START
ticketArray= "104"
onChar=0
'//// GO THRU ARRAY GET LETTERS
for z=1 to len(intext)
pos= instr(ascii,mid(intext,z,1))
'/// SKIP, NOT FOUND CHARS,continue loop
'text=text&mid(intext,i,i)&"<br/>"

onChar=onChar+1
ticketArray= ticketArray&","&pos
total = total+( onChar * pos )
next
'response.write text
'response.end()
'/// CHECK CHAR
ticketArray=ticketArray&","&( total mod 103 )

'//// END
ticketArray=ticketArray&",106"

produceArray=ticketArray

end function
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function produceHTML(givetext)
alignment=0
fheight=30
fwidth=1
bImg="a.jpg"'a与b的宽都为1,a为黑色,b为白色
wImg="b.jpg"
dim color(1)
ticketArray = produceArray(givetext)

ticketArray=split(ticketArray,",")
html ="<table cellpadding=5 cellspacing=0 border=0 bgcolor=white align='left'><tr><td>"

'/// ARRAY OF IMAGES
color(0)= bImg
color(1)= wImg

'//// OUTPUT HTML
'if ( is_array($ticketArray) ) {

for each ele in ticketArray

bon = 0

info = arr128(int(ele))

for i=1 to len(info)

if alignment=0 then
html = html&"<img src='"&color(bon)&"'  height='"&fheight&"' width = '"&int(mid(info,i,1)*fwidth)&"'>"
    else
html = html&"<img src='"&color(bon)&"'  width='"&fheight&"'  height = '"&int(mid(info,i,1)*fwidth)&"'>"
end if
if bon=0 then
bon=1
else
bon=0
end if
next

next

html = html&"</td></tr></table>"

produceHTML=html
end function
%>

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈