欢迎光临
我们一直在努力

ASP常见问题及解答(7)-ASP教程,ASP技巧

建站超值云服务器,限时71元/月

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>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ASP常见问题及解答(7)-ASP教程,ASP技巧
分享到: 更多 (0)

相关推荐

  • 暂无文章