开发WEB站点编程常用的代码1
类别: ASP教程
1. ASP与Access数据库连接:
dim conn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
set conn=server.createobject("adodb.connection")
\'conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
conn.open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & mdbfile
2. ASP与SQL数据库连接:
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称;"
建立记录集对象:
set rs=server.createobject("adodb.recordset")
rs.open SQL语句,conn,3,2
SQL常用命令使用方法:
数据记录筛选:
sql="select * from 数据表 where 字段名=字段值 order by 字段名 "
sql="select * from 数据表 where 字段名 like ‘%字段值%‘ order by 字段名 "
sql="select top 10 * from 数据表 where 字段名 order by 字段名 "
sql="select * from 数据表 where 字段名 in (‘值1‘,‘值2‘,‘值3‘)"
sql="select * from 数据表 where 字段名 between 值1 and 值2"
更新数据记录:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。
数据表的建立和删除:
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 数据表名称 (永久性删除一个数据表)
记录集对象的方法:
rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录
判断所填数据是数字型
if not isNumeric(request("字段名称")) then
response.write "不是数字"
else
response.write "数字"
end if
页面执行时间:
<%startime = Timer()%>
.... ....
内容
... ...
结尾
<%
Dim Endtime
Endtime = Timer()
response.write "页面执行时间:<font color=red>"&FormatNumber((Endtime-Startime)*1000,5)&"</font> 毫秒"
%>
定义打开网页时起始窗口的大小
<script for="window" event="onload">
window.resizeTo(500,300)
</script>
随机数:
<%randomize%>
<%=(int(rnd()*n)+1)%>
查询数据时得到的记录关键字用红色显示:
replace(RS("字段X"),searchname,"<font color=#FF0000>" & searchname & "</font>")
通过asp的手段来检查来访者是否用了代理
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
response.write "<font color=#FF0000>您通过了代理服务器,"& _
"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
%>
判断上一页的来源
request.servervariables("HTTP_REFERER")
javascript: document.referrer
清除缓存,重新加载页面
<%response.expires = 0
response.expiresabsolute = now() - 1
response.addHeader "pragma","no-cache"
response.addHeader "cache-control","private"
Response.cachecontrol = "no-cache"
%>
检索并删除数据库里的重复记录
conn.execute("delete from table where id not in (select distinct from table)")
文件删除函数
<%
\'文件删除函数
function deletefile(filename)
if filename<>"" then
set fso=server.CreateObject("scripting.filesystemobject")
if fso.FileExists(filename) then
fso.DeleteFile filename
else
Response.Write "<script>alert(’该文件不存在’);</script>"
end if
end if
end function
strfile=server.MapPath("fileName")
deletefile(strfile)
%>
ASP字数计算函数
<%
Function WordCount(strInput)
Dim strTemp
strTemp = Replace(strInput, vbTab, " ")
strTemp = Replace(strTemp, vbCr, " ")
strTemp = Replace(strTemp, vbLf, " ")
\' 删除字首字尾空格
strTemp = Trim(strTemp)
\' 替换为一个空格
Do While InStr(1, strTemp, " ", 1) <> 0
strTemp = Replace(strTemp, " ", " ")
Loop
WordCount = UBound(Split(strTemp, " ", -1, 1)) +1
End Function
%>
全正则的检测IP是否合法的函数
function checkIP2(sIPAddress)
{
var exp=/^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/;
var reg = sIPAddress.match(exp);
var ErrMsg="你输入的是一个非法的IP地址段!nIP段为::xxx.xxx.xxx.xxx(xxx为0-255)!"
var Msg="你输入的是一个合法的IP地址段!"
if(reg==null)
{
alert(ErrMsg);
}
else
{
alert(reg);
}
}
关闭子窗口时刷新父窗口
在子窗口
<script language="javascript">
window.opener.location="父窗口页面"
window.close()
</script>
文本框输入限制:
<script>
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange()
if (docSel.parentElement().tagName != "INPUT") return false
oSel = docSel.duplicate()
oSel.text = ""
var srcRange = obj.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
return reg.test(str)
}
</script>
小写英文:<xmp style= "display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[a-z]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[a-z]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[a-z]*$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
><br>
大写英文:<xmp style= "display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[A-Z]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[A-Z]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[A-Z]*$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled">
<br>
任意数字:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[0-9]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[0-9]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[0-9]*$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
><br>
限2位小数:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^d*.?d{0,2}$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^d*.?d{0,2}$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^d*.?d{0,2}$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
> 如: 123.12<br>
日 期:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^d{1,4}([-/](d{1,2}([-/](d{1,2})?)?)?)?$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^d{1,4}([-/](d{1,2}([-/](d{1,2})?)?)?)?$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^d{1,4}([-/](d{1,2}([-/](d{1,2})?)?)?)?$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
> 如: 2002-9-29<br>
任意中文:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[u4E00-u9FA5]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[u4E00-u9FA5]*$/, event.dataTransfer.getData(\'Text\'))"
><br>
部分英文:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[a-e]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[a-e]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[a-e]*$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
> 范围: a,b,c,d,e<br>
部分中文:<xmp style="display:inline"> </xmp>
<script language=javascript>
function checkChinese(oldLength, obj)
{
var oTR = window.document.selection.createRange()
var reg = /[^一二三四五六七八九十]/g
oTR.moveStart("character", -1*(obj.value.length-oldLength))
oTR.text = oTR.text.replace(reg, "")
}
</script>
<input onkeypress="return false" onkeydown="setTimeout(\'checkChinese(\'+this.value.length+\',\'+this.uniqueID+\')\', 1)"
onpaste = "return regInput(this, /^[一二三四五六七八九十]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/, event.dataTransfer.getData(\'Text\'))"
> 范围: 一二三四五六七八九十<br>
不能点右键,不用CTRL+A,不能复制作!
<body oncontextmenu="window.event.returnValue=false"
onkeypress="window.event.returnValue=false"
onkeydown="window.event.returnValue=false"
onkeyup="window.event.returnValue=false"
ondragstart="window.event.returnValue=false"
onselectstart="event.returnValue=false">
</body>
显示状态拦固定文字:
放在body前
<base onmouseover="window.status=\'欢迎访问网页教学网,如果喜欢本站请帮忙推荐给你的朋友\';return true">
用键盘打开网页
<script language=javascript>
document.onkeydown=gopage
var add="Admin/AddArticle.asp"
var logon="Admin/Logon.asp"
function gopage() {
if (event.keyCode==13) location=add
if (event.keyCode==38) location=logon
}
</script>
根据内容自动调整iframe高度
有时为了方便使用Iframe,但被潜入的页面长度不是固定的,显示滚动条不仅影响美观还对用户操作带来不便,自动调整高度可以解决这个问题。^_^
function f_frameStyleResize(targObj)
{
var targWin = targObj.parent.document.all[targObj.name];
if(targWin != null)
{
var HeightValue = targObj.document.body.scrollHeight
if(HeightValue < 600){HeightValue = 600} //不小于600
targWin.style.pixelHeight = HeightValue;
}
}
function f_iframeResize()
{
bLoadComplete = true;
f_frameStyleResize(self);
}
var bLoadComplete = false;
window.onload = f_iframeResize;
禁止页面正文内容被选取
<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return
false"onmouseup="document.selection.empty()">
消除ie6自动出现的图像工具栏,设置 GALLERYIMG属性为false或no .
<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="no">
防止点击空链接时,页面往往重置到页首端。
代码“javascript:void(null)”代替原来的“#”标记
如何避免别人把你的网页放在框架中
<script language=“javascript”><!--if (self!=top){top.location=self.location;} -->< /script>
页面定时刷新
<meta http-equiv="Refresh" content="秒" >
页面定时转向新的地址
<meta http-equiv="refresh" content="秒;URL=url">
关闭窗口,这个是不会弹出提示直接关的: 把如下代码加入<body>区域中
<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<param name="Command" value="Close">
</object>
<script language="JavaScript">function shutwin(){closes.Click();return;}</script>
<a href="javascript:shutwin();">关闭本窗口</a>
有时候好不容易写出来的程序代码被别人抄去,心里一定不好受。这还是小事,但如果在我们的源代码中有一些不希望让别人知道的内容,比如密码、 Action的指向等,这些一旦被人利用,那后果有时是不堪设想的。而网页加密就是我们现在需要解决的问题。下面就我在网页制作中的一些经验向大家介绍一些简单的防范方法。
禁止右键
看到这里大家一定会想,这招有很多人介绍过了,而且破解的方法也有很多。但我这里要说的是另一种方法,而且我试了很多方法都没有能破解。具体如下:
<html>
<head>
<script>
function stop(){
alert("试试能破解吗?");
return false;
}
document.oncontextmenu=stop;
</script>
<boyd>你可以按右键、shift+F10和右ctrl左边的那个键试试!看能不能解。^_^</body>
大家试试,看能不能破解!你可以将alert("试试能破解吗?");这句去掉,这样当按右键时就什么反应也没有了,就好像没有右键功能一样。
禁示查看源代码
我们已经禁了右键,但从"查看"菜单下的"源文件"中同样可以看到源代码,下面我们就来解决这个问题:
其实这只要使用一个含有<frame></frame>标记的网页便可以达到目的。
<frameset>
<frame src="你要保密的文件的URL">
</frameset>
这样当有人使用"查看"下的"源文件"的时候,看到的将是上面的那段代码,而你真正的文件又躲过一劫。
禁示另存为
通过上面的两步好像你的源代码已经安全了,但别忘了,别人还可以将你的页面保存下来,再慢慢分析。不过别担心,下面我们来解决这个问题。
在你要保密的网页中加入以下代码:
<noscript><iframe src="*.htm"></iframe></noscript>
彻底屏蔽右键方法。
<body oncontextmenu="return false">
双击页面后自动滚屏,单击后停止。
<SCRIPT language=JavaScript>
var currentpos,timer;
function initialize()
{ timer=setInterval("scrollwindow()",16); }
function sc(){
clearInterval(timer);
}
function scrollwindow()
{currentpos=document.body.scrollTop;
window.scroll(0,++currentpos);
if (currentpos != document.body.scrollTop)
sc();
}
document.onmousedown=sc
document.ondblclick=initialize
</script>
设定脚本出错能继续运行
<script language="javascript">
function KillError()
{
return false;
}
window.onerror=KillError;
</script>
将彻底屏蔽鼠标右键
oncontextmenu="window.event.returnvalue=false"
可用于Table
<table border oncontextmenu=return(false)><td>no</table>
取消选取、防止复制
<body onselectstart="return false">
不准粘贴
onpaste="return false"
防止复制
oncopy="return false;" oncut="return false;"
IE地址栏前换成自己的图标
<link rel="Shortcut Icon" href="favicon.ico">
可以在收藏夹中显示出你的图标
<link rel="Bookmark" href="favicon.ico">
关闭输入法
<input style="ime-mode:disabled">
永远都会带着框架
<script language="javascript"><!--
if (window == top)top.location.href = "frames.htm";
//frames.htm为框架网页
// -->
</script>
防止被人frame
<SCRIPT LANGUAGE=javascript><!--
if (top.location != self.location)
top.location=self.location;
// -->
</SCRIPT>
怎样通过asp的手段来检查来访者是否用了代理
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
response.write "<font color=#FF0000>您通过了代理服务器," & "真实的IP为 "&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
%>
取得控件的绝对位置
//javascript
<script language="javascript">
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert("top="+t+"nleft="+l);
}
</script>
//VBScript
<script language="VBScript">
<!--
function getIE()
dim t,l,a,b
set a=document.all.img1
t=document.all.img1.offsetTop
l=document.all.img1.offsetLeft
while a.tagName<>"BODY"
set a = a.offsetParent
t=t+a.offsetTop
l=l+a.offsetLeft
wend
msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
end function
-->
</script>
光标是停在文本框文字的最后
<script language="javascript">
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart(\'character\',e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc()">
判断上一页的来源
asp:
request.servervariables("HTTP_REFERER")
javascript:
document.referrer
dim conn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
set conn=server.createobject("adodb.connection")
\'conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
conn.open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & mdbfile
2. ASP与SQL数据库连接:
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称;"
建立记录集对象:
set rs=server.createobject("adodb.recordset")
rs.open SQL语句,conn,3,2
SQL常用命令使用方法:
数据记录筛选:
sql="select * from 数据表 where 字段名=字段值 order by 字段名 "
sql="select * from 数据表 where 字段名 like ‘%字段值%‘ order by 字段名 "
sql="select top 10 * from 数据表 where 字段名 order by 字段名 "
sql="select * from 数据表 where 字段名 in (‘值1‘,‘值2‘,‘值3‘)"
sql="select * from 数据表 where 字段名 between 值1 and 值2"
更新数据记录:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)
数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。
数据表的建立和删除:
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 数据表名称 (永久性删除一个数据表)
记录集对象的方法:
rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录
判断所填数据是数字型
if not isNumeric(request("字段名称")) then
response.write "不是数字"
else
response.write "数字"
end if
页面执行时间:
<%startime = Timer()%>
.... ....
内容
... ...
结尾
<%
Dim Endtime
Endtime = Timer()
response.write "页面执行时间:<font color=red>"&FormatNumber((Endtime-Startime)*1000,5)&"</font> 毫秒"
%>
定义打开网页时起始窗口的大小
<script for="window" event="onload">
window.resizeTo(500,300)
</script>
随机数:
<%randomize%>
<%=(int(rnd()*n)+1)%>
查询数据时得到的记录关键字用红色显示:
replace(RS("字段X"),searchname,"<font color=#FF0000>" & searchname & "</font>")
通过asp的手段来检查来访者是否用了代理
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
response.write "<font color=#FF0000>您通过了代理服务器,"& _
"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
%>
判断上一页的来源
request.servervariables("HTTP_REFERER")
javascript: document.referrer
清除缓存,重新加载页面
<%response.expires = 0
response.expiresabsolute = now() - 1
response.addHeader "pragma","no-cache"
response.addHeader "cache-control","private"
Response.cachecontrol = "no-cache"
%>
检索并删除数据库里的重复记录
conn.execute("delete from table where id not in (select distinct from table)")
文件删除函数
<%
\'文件删除函数
function deletefile(filename)
if filename<>"" then
set fso=server.CreateObject("scripting.filesystemobject")
if fso.FileExists(filename) then
fso.DeleteFile filename
else
Response.Write "<script>alert(’该文件不存在’);</script>"
end if
end if
end function
strfile=server.MapPath("fileName")
deletefile(strfile)
%>
ASP字数计算函数
<%
Function WordCount(strInput)
Dim strTemp
strTemp = Replace(strInput, vbTab, " ")
strTemp = Replace(strTemp, vbCr, " ")
strTemp = Replace(strTemp, vbLf, " ")
\' 删除字首字尾空格
strTemp = Trim(strTemp)
\' 替换为一个空格
Do While InStr(1, strTemp, " ", 1) <> 0
strTemp = Replace(strTemp, " ", " ")
Loop
WordCount = UBound(Split(strTemp, " ", -1, 1)) +1
End Function
%>
全正则的检测IP是否合法的函数
function checkIP2(sIPAddress)
{
var exp=/^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/;
var reg = sIPAddress.match(exp);
var ErrMsg="你输入的是一个非法的IP地址段!nIP段为::xxx.xxx.xxx.xxx(xxx为0-255)!"
var Msg="你输入的是一个合法的IP地址段!"
if(reg==null)
{
alert(ErrMsg);
}
else
{
alert(reg);
}
}
关闭子窗口时刷新父窗口
在子窗口
<script language="javascript">
window.opener.location="父窗口页面"
window.close()
</script>
文本框输入限制:
<script>
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange()
if (docSel.parentElement().tagName != "INPUT") return false
oSel = docSel.duplicate()
oSel.text = ""
var srcRange = obj.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
return reg.test(str)
}
</script>
小写英文:<xmp style= "display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[a-z]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[a-z]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[a-z]*$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
><br>
大写英文:<xmp style= "display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[A-Z]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[A-Z]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[A-Z]*$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled">
<br>
任意数字:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[0-9]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[0-9]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[0-9]*$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
><br>
限2位小数:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^d*.?d{0,2}$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^d*.?d{0,2}$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^d*.?d{0,2}$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
> 如: 123.12<br>
日 期:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^d{1,4}([-/](d{1,2}([-/](d{1,2})?)?)?)?$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^d{1,4}([-/](d{1,2}([-/](d{1,2})?)?)?)?$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^d{1,4}([-/](d{1,2}([-/](d{1,2})?)?)?)?$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
> 如: 2002-9-29<br>
任意中文:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[u4E00-u9FA5]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[u4E00-u9FA5]*$/, event.dataTransfer.getData(\'Text\'))"
><br>
部分英文:<xmp style="display:inline"> </xmp>
<input onkeypress = "return regInput(this, /^[a-e]*$/, String.fromCharCode(event.keyCode))"
onpaste = "return regInput(this, /^[a-e]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[a-e]*$/, event.dataTransfer.getData(\'Text\'))"
style="ime-mode:Disabled"
> 范围: a,b,c,d,e<br>
部分中文:<xmp style="display:inline"> </xmp>
<script language=javascript>
function checkChinese(oldLength, obj)
{
var oTR = window.document.selection.createRange()
var reg = /[^一二三四五六七八九十]/g
oTR.moveStart("character", -1*(obj.value.length-oldLength))
oTR.text = oTR.text.replace(reg, "")
}
</script>
<input onkeypress="return false" onkeydown="setTimeout(\'checkChinese(\'+this.value.length+\',\'+this.uniqueID+\')\', 1)"
onpaste = "return regInput(this, /^[一二三四五六七八九十]*$/, window.clipboardData.getData(\'Text\'))"
ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/, event.dataTransfer.getData(\'Text\'))"
> 范围: 一二三四五六七八九十<br>
不能点右键,不用CTRL+A,不能复制作!
<body oncontextmenu="window.event.returnValue=false"
onkeypress="window.event.returnValue=false"
onkeydown="window.event.returnValue=false"
onkeyup="window.event.returnValue=false"
ondragstart="window.event.returnValue=false"
onselectstart="event.returnValue=false">
</body>
显示状态拦固定文字:
放在body前
<base onmouseover="window.status=\'欢迎访问网页教学网,如果喜欢本站请帮忙推荐给你的朋友\';return true">
用键盘打开网页
<script language=javascript>
document.onkeydown=gopage
var add="Admin/AddArticle.asp"
var logon="Admin/Logon.asp"
function gopage() {
if (event.keyCode==13) location=add
if (event.keyCode==38) location=logon
}
</script>
根据内容自动调整iframe高度
有时为了方便使用Iframe,但被潜入的页面长度不是固定的,显示滚动条不仅影响美观还对用户操作带来不便,自动调整高度可以解决这个问题。^_^
function f_frameStyleResize(targObj)
{
var targWin = targObj.parent.document.all[targObj.name];
if(targWin != null)
{
var HeightValue = targObj.document.body.scrollHeight
if(HeightValue < 600){HeightValue = 600} //不小于600
targWin.style.pixelHeight = HeightValue;
}
}
function f_iframeResize()
{
bLoadComplete = true;
f_frameStyleResize(self);
}
var bLoadComplete = false;
window.onload = f_iframeResize;
禁止页面正文内容被选取
<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return
false"onmouseup="document.selection.empty()">
消除ie6自动出现的图像工具栏,设置 GALLERYIMG属性为false或no .
<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="no">
防止点击空链接时,页面往往重置到页首端。
代码“javascript:void(null)”代替原来的“#”标记
如何避免别人把你的网页放在框架中
<script language=“javascript”><!--if (self!=top){top.location=self.location;} -->< /script>
页面定时刷新
<meta http-equiv="Refresh" content="秒" >
页面定时转向新的地址
<meta http-equiv="refresh" content="秒;URL=url">
关闭窗口,这个是不会弹出提示直接关的: 把如下代码加入<body>区域中
<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<param name="Command" value="Close">
</object>
<script language="JavaScript">function shutwin(){closes.Click();return;}</script>
<a href="javascript:shutwin();">关闭本窗口</a>
有时候好不容易写出来的程序代码被别人抄去,心里一定不好受。这还是小事,但如果在我们的源代码中有一些不希望让别人知道的内容,比如密码、 Action的指向等,这些一旦被人利用,那后果有时是不堪设想的。而网页加密就是我们现在需要解决的问题。下面就我在网页制作中的一些经验向大家介绍一些简单的防范方法。
禁止右键
看到这里大家一定会想,这招有很多人介绍过了,而且破解的方法也有很多。但我这里要说的是另一种方法,而且我试了很多方法都没有能破解。具体如下:
<html>
<head>
<script>
function stop(){
alert("试试能破解吗?");
return false;
}
document.oncontextmenu=stop;
</script>
<boyd>你可以按右键、shift+F10和右ctrl左边的那个键试试!看能不能解。^_^</body>
大家试试,看能不能破解!你可以将alert("试试能破解吗?");这句去掉,这样当按右键时就什么反应也没有了,就好像没有右键功能一样。
禁示查看源代码
我们已经禁了右键,但从"查看"菜单下的"源文件"中同样可以看到源代码,下面我们就来解决这个问题:
其实这只要使用一个含有<frame></frame>标记的网页便可以达到目的。
<frameset>
<frame src="你要保密的文件的URL">
</frameset>
这样当有人使用"查看"下的"源文件"的时候,看到的将是上面的那段代码,而你真正的文件又躲过一劫。
禁示另存为
通过上面的两步好像你的源代码已经安全了,但别忘了,别人还可以将你的页面保存下来,再慢慢分析。不过别担心,下面我们来解决这个问题。
在你要保密的网页中加入以下代码:
<noscript><iframe src="*.htm"></iframe></noscript>
彻底屏蔽右键方法。
<body oncontextmenu="return false">
双击页面后自动滚屏,单击后停止。
<SCRIPT language=JavaScript>
var currentpos,timer;
function initialize()
{ timer=setInterval("scrollwindow()",16); }
function sc(){
clearInterval(timer);
}
function scrollwindow()
{currentpos=document.body.scrollTop;
window.scroll(0,++currentpos);
if (currentpos != document.body.scrollTop)
sc();
}
document.onmousedown=sc
document.ondblclick=initialize
</script>
设定脚本出错能继续运行
<script language="javascript">
function KillError()
{
return false;
}
window.onerror=KillError;
</script>
将彻底屏蔽鼠标右键
oncontextmenu="window.event.returnvalue=false"
可用于Table
<table border oncontextmenu=return(false)><td>no</table>
取消选取、防止复制
<body onselectstart="return false">
不准粘贴
onpaste="return false"
防止复制
oncopy="return false;" oncut="return false;"
IE地址栏前换成自己的图标
<link rel="Shortcut Icon" href="favicon.ico">
可以在收藏夹中显示出你的图标
<link rel="Bookmark" href="favicon.ico">
关闭输入法
<input style="ime-mode:disabled">
永远都会带着框架
<script language="javascript"><!--
if (window == top)top.location.href = "frames.htm";
//frames.htm为框架网页
// -->
</script>
防止被人frame
<SCRIPT LANGUAGE=javascript><!--
if (top.location != self.location)
top.location=self.location;
// -->
</SCRIPT>
怎样通过asp的手段来检查来访者是否用了代理
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" then
response.write "<font color=#FF0000>您通过了代理服务器," & "真实的IP为 "&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
%>
取得控件的绝对位置
//javascript
<script language="javascript">
function getIE(e){
var t=e.offsetTop;
var l=e.offsetLeft;
while(e=e.offsetParent){
t+=e.offsetTop;
l+=e.offsetLeft;
}
alert("top="+t+"nleft="+l);
}
</script>
//VBScript
<script language="VBScript">
<!--
function getIE()
dim t,l,a,b
set a=document.all.img1
t=document.all.img1.offsetTop
l=document.all.img1.offsetLeft
while a.tagName<>"BODY"
set a = a.offsetParent
t=t+a.offsetTop
l=l+a.offsetLeft
wend
msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
end function
-->
</script>
光标是停在文本框文字的最后
<script language="javascript">
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart(\'character\',e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value="123" onfocus="cc()">
判断上一页的来源
asp:
request.servervariables("HTTP_REFERER")
javascript:
document.referrer
- 上一篇: ASP中一个字符串处理类加强版
- 下一篇: 开发WEB站点编程常用的代码2
-= 资 源 教 程 =-
文 章 搜 索