1.分 类:语法应用
问题描述:查找两个字符串间的字符出现次数
解决办法:
function findstringtimes(strcontent,start_string,end_string) start_string 与 end_string 之间字符出次的数
written by jaron
findstringtimes = ubound(split(strcontent,start_string))
end function
示例: 查找以下字符串有多少张图片
response.write findstringtimes(html,"<img",">")
<img src="a.jpg"><img src="b.jpg"><img src="d.jpg"><img src="c.jpg">
2.遍历目录以及目录下文件的函数
<%
function bianli(path)
set fso=server.createobject("scripting.filesystemobject")
on error resume next
set objfolder=fso.getfolder(path)
set objsubfolders=objfolder.subfolders
for each objsubfolder in objsubfolders
nowpath=path + "\" + objsubfolder.name
response.write nowpath
set objfiles=objsubfolder.files
for each objfile in objfiles
response.write "<br/>—"
response.write objfile.name
next
response.write "<p>"
bianli(nowpath)递归
next
set objfolder=nothing
set objsubfolders=nothing
set fso=nothing
end function
%>
<%
bianli("d:") 遍历d:盘
%>
3.生成一个不重复的随即数字
sub calcapiao()
dim strcaipiaonoarr() as string
dim strsql as string
dim strcaipiaono as string
strcaipiaono = "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33"
dim strtemparr(7) as string
dim strzhongjiangarr(7) as string
strcaipiaonoarr = split(strcaipiaono, ",")
dim intrand as integer
dim i as integer
dim j as integer
i = 0
dim find as boolean
do while true
find = false
randomize
intrand = int((33 * rnd) + 1)
for j = 0 to i – 1
if strtemparr(j) = cstr(intrand) then
find = true
end if
next
if not find then
strtemparr(j) = cstr(intrand)
strzhongjiangarr(i) = cstr(intrand)
text1(i) = strzhongjiangarr(i)
i = i + 1
if i = 7 then
exit do
end if
end if
loop
end sub
4.下载任何文件(尤其是ie关联打开的)
<%
dim stream
dim contents
dim filename
dim fileext
const adtypebinary = 1
filename = request.querystring("filename")
if filename = "" then
response.write "无效文件名."
response.end
end if
下面是不希望下载的文件
fileext = mid(filename, instrrev(filename, ".") + 1)
select case ucase(fileext)
case "asp", "asa", "aspx", "asax", "mdb"
response.write "受保护文件,不能下载."
response.end
end select
下载这个文件
response.clear
response.contenttype = "application/octet-stream"
response.addheader "content-disposition", "attachment; filename=" & filename
set stream = server.createobject("adodb.stream")
stream.type = adtypebinary
stream.open
stream.loadfromfile server.mappath(filename)
while not stream.eos
response.binarywrite stream.read(1024 * 64)
wend
stream.close
set stream = nothing
response.flush
response.end
%>
5.背景色变换
<form>
<p><input type="button" value="背景色变换" onclick="bgbutton()"></p>
</form>
<script>function bgbutton(){
if (document.bgcolor==#00ffff)
{document.bgcolor=#ffffff;}
else{document.bgcolor=#00ffff;}
}
</script>
6.点击打开新窗口
<form>
<p><input type="button" value="打开新窗口" onclick="newwindow()"></p>
</form>
<script language="javascript"><!–
function newwindow(){window.open("http://www.mcmx.com";;;,"","height=240,width=340,status=no,location=no,toolbar=no,directories=no,menubar=no");}
// –></script></body>
7.分页代码:
<%本程序文件名为:pages.asp%>
<%包含ado常量表文件adovbs.inc,可从"\program files\common files\system\ado"目录下拷贝%>
<!–#include file="adovbs.inc"–>
<%*建立数据库连接,这里是oracle8.05数据库
set conn=server.createobject("adodb.connection")
conn.open "provider=msdaora.1;data source=yoursrcname;user id=youruserid;password=yourpassword;"
set rs=server.createobject("adodb.recordset") 创建recordset对象
rs.cursorlocation=aduseclient 设定记录集指针属性
*设定一页内的记录总数,可根据需要进行调整
rs.pagesize=10
*设置查询语句
strsql="select id,姓名,住址,电话 from 通讯录 order by id"
rs.open strsql,conn,adopenstatic,adlockreadonly,adcmdtext
%>
<html>
<head>
<title>分页示例</title>
<script language=javascript>
//点击"[第一页]"时响应:
function pagefirst()
{
document.myform.currentpage.selectedindex=0;
document.myform.currentpage.onchange();
}
//点击"[上一页]"时响应:
function pageprior()
{
document.myform.currentpage.selectedindex–;
document.myform.currentpage.onchange();
}
//点击"[下一页]"时响应:
function pagenext()
{
document.myform.currentpage.selectedindex++;
document.myform.currentpage.onchange();
}
//点击"[最后一页]"时响应:
function pagelast()
{
document.myform.currentpage.selectedindex=document.myform.currentpage.length-1;
document.myform.currentpage.onchange();
}
//选择"第?页"时响应:
function pagecurrent()
{ //pages.asp是本程序的文件名
document.myform.action=pages.asp?page=+(document.myform.currentpage.selectedindex+1)
document.myform.submit();
}
</script>
</head>
<body bgcolor="#ffffcc" link="#008000" vlink="#008000" alink="#ff0000"">
<%if rs.eof then
response.write("<font size=2 color=#000080>[数据库中没有记录!]</font>")
else
指定当前页码
if request("currentpage")="" then
rs.absolutepage=1
else
rs.absolutepage=clng(request("currentpage"))
end if
创建表单myform,方法为get
response.write("<form method=get name=myform>")
response.write("<p align=center><font size=2 color=#008000>")
设置翻页超链接
if rs.pagecount=1 then
response.write("[第一页] [上一页] [下一页] [最后一页] ")
else
if rs.absolutepage=1 then
response.write("[第一页] [上一页] ")
response.write("[<a href=java script:pagenext()>下一页</a>] ")
response.write("[<a href=java script:pagelast()>最后一页</a>] ")
else
if rs.absolutepage=rs.pagecount then
response.write("[<a href=java script:pagefirst()>第一页</a>] ")
response.write("[<a href=java script:pageprior()>上一页</a>] ")
response.write("[下一页] [最后一页] ")
else
response.write("[<a href=java script:pagefirst()>第一页</a>] ")
response.write("[<a href=java script:pageprior()>上一页</a>] ")
response.write("[<a href=java script:pagenext()>下一页</a>] ")
response.write("[<a href=java script:pagelast()>最后一页</a>] ")
end if
end if
end if
创建下拉列表框,用于选择浏览页码
response.write("第<select size=1 name=currentpage onchange=pagecurrent()>")
for i=1 to rs.pagecount
if rs.absolutepage=i then
response.write("<option selected>"&i&"</option>") 当前页码
else
response.write("<option>"&i&"</option>")
end if
next
response.write("</select>页/共"&rs.pagecount&"页 共"&rs.recordcount&"条记录</font><p>")
response.write("</form>")
创建表格,用于显示
response.write("<table align=center cellspacing=1 cellpadding=1 border=1")
response.write(" bordercolor=#99ccff bordercolordark=#b0e0e6 bordercolorlight=#000066>")
response.write("<tr bgcolor=#ccccff bordercolor=#000066>")
set columns=rs.fields
显示表头
for i=0 to columns.count-1
response.write("<td align=center width=200 height=13>")
response.write("<font size=2><b>"&columns(i).name&"</b></font></td>")
next
response.write("</tr>")
显示内容
for i=1 to rs.pagesize
response.write("<tr bgcolor=#99ccff bordercolor=#000066>")
for j=0 to columns.count-1
response.write("<td><font size=2>"&columns(j)&"</font></td>")
next
response.write("</tr>")
rs.movenext
if rs.eof then exit for
next
response.write("</table>")
end if
%>
</body>
</html>
8./**
isinteger: 用于判断一个数字型字符串是否为整形,
还可判断是否是正整数或负整数,返回值为true或false
string: 需要判断的字符串
sign: 若要判断是正负数是使用,是正用+,负-,不用则表示不作判断
author: ppdj
sample:
var a = 123;
if (isinteger(a))
{
alert(a is a integer);
}
if (isinteger(a,+))
{
alert(a is a positive integer);
}
if (isinteger(a,-))
{
alert(a is a negative integer);
}
*/
function isinteger(string ,sign)
{
var integer;
if ((sign!=null) && (sign!=-) && (sign!=+))
{
alert(isinter(string,sign)的参数出错:\nsign为null或"-"或"+");
return false;
}
integer = parseint(string);
if (isnan(integer))
{
return false;
}
else if (integer.tostring().length==string.length)
{
if ((sign==null) || (sign==- && integer<0) || (sign==+ && integer>0))
{
return true;
}
else
return false;
}
else
return false;
}
9./**
isdate: 用于判断一个字符串是否是日期格式的字符串
返回值:
true或false
参数:
datestring: 需要判断的字符串
dilimeter : 日期的分隔符,缺省值为-
author: ppdj
sample:
var date = 1999-1-2;
if (isdate(date))
{
alert(you see, the default separator is "-");
}
date = 1999/1/2";
if (isdate(date,/))
{
alert(the date\s separator is "/");
}
*/
function isdate(datestring , dilimeter)
{
if (datestring==null) return false;
if (dilimeter== || dilimeter==null)
dilimeter = -;
var tempy=;
var tempm=;
var tempd=;
var temparray;
if (datestring.length<8 && datestring.length>10)
return false;
temparray = datestring.split(dilimeter);
if (temparray.length!=3)
return false;
if (temparray[0].length==4)
{
tempy = temparray[0];
tempd = temparray[2];
}
else
{
tempy = temparray[2];
tempd = temparray[1];
}
tempm = temparray[1];
var tdatestring = tempy + /+tempm + /+tempd+ 8:0:0;//加八小时是因为我们处于东八区
var tempdate = new date(tdatestring);
if (isnan(tempdate))
return false;
if (((tempdate.getutcfullyear()).tostring()==tempy) && (tempdate.getmonth()==parseint(tempm)-1) && (tempdate.getdate()==parseint(tempd)))
{
return true;
}
else
{
return false;
}
}
10./**
isnumber: 用于判断一个数字型字符串是否为数值型,
还可判断是否是正数或负数,返回值为true或false
string: 需要判断的字符串
sign: 若要判断是正负数是使用,是正用+,负-,不用则表示不作判断
author: ppdj
sample:
var a = 123;
if (isnumber(a))
{
alert(a is a number);
}
if (isnumber(a,+))
{
alert(a is a positive number);
}
if (isnumber(a,-))
{
alert(a is a negative number);
}
*/
function isnumber(string,sign)
{
var number;
if (string==null) return false;
if ((sign!=null) && (sign!=-) && (sign!=+))
{
alert(isnumber(string,sign)的参数出错:\nsign为null或"-"或"+");
return false;
}
number = new number(string);
if (isnan(number))
{
return false;
}
else if ((sign==null) || (sign==- && number<0) || (sign==+ && number>0))
{
return true;
}
else
return false;
}
11./**
specialstring: 用于判断一个字符串是否含有或不含有某些字符
返回值:
true或false
参数:
string : 需要判断的字符串
compare : 比较的字符串(基准字符串)
belongornot: true或false,“true”表示string的每一个字符都包含在compare中,
“false”表示string的每一个字符都不包含在compare中
author: ppdj
sample1:
var str = 123g;
if (specialstring(str,1234567890))
{
alert(yes, all the letter of the string in \1234567890\);
}
else
{
alert(no, one or more letters of the string not in \1234567890\);
}
结果执行的是else部分
sample2:
var password = 1234;
if (!specialstring(password,\"@#$%,false))
{
alert(yes, the password is correct.);
}
else
{
alert(no, the password is contain one or more letters of \"@#$%\);
}
结果执行的是else部分
*/
function specialstring(string,compare,belongornot)
{
if ((string==null) || (compare==null) || ((belongornot!=null) && (belongornot!=true) && (belongornot!=false)))
{
alert(function specialstring(string,compare,belongornot)参数错误);
return false;
}
if (belongornot==null || belongornot==true)
{
for (var i=0;i<string.length;i++)
{
if (compare.indexof(string.charat(i))==-1)
return false
}
return true;
}
else
{
for (var i=0;i<string.length;i++)
{
if (compare.indexof(string.charat(i))!=-1)
return false
}
return true;
}
}
//–>
</script>
