ASP常见问题及解答(11)
发表于:2007-06-30来源:作者:点击数:
标签:
常用的javascript function //========================================= //输入数据检验 //检验空值 function funCheckEmpty(m_Text) { var strTmp=m_Text if (strTmp == null || strTmp == ) { return false } return true } //检验内容的长度 function fu
常用的javascript function
//=========================================
// 输入数据检验
// 检验空值
function funCheckEmpty(m_Text) {
var strTmp=m_Text
if (strTmp == null || strTmp == "") {
return false
}
return true
}
//检验内容的长度
function funTextLenCheck(m_Text) {
var strText=m_Text
for(i=0;i<=strText.length-1;i++){
if (strText.charCodeAt(i)>=256){
return strText.length * 2
}
}
return strText.length
}
//检验长度
function funCheckLen(m_Len,m_Text) {
if (funTextLenCheck(m_Text)> m_Len) {
return false
}
return true
}
//检验是否为数字
function funCheckNumber(m_Text) {
var strTmp=m_Text
if (isNaN(strTmp)) {
return false
}
return true
}
//检验日期是否合法
function funcheckDate(m_Year,m_Month,m_Day){
//根据月先取得最大日期
var maxDay
if (m_Month==2) {
maxDay=28
if (m_Year % 4 ==0) {
maxDay=29
}
} else {
if (m_Month<=7){
if (m_Month % 2 ==0){
maxDay=30
}else{
maxDay=31
}
}else{
if (m_Month % 2 ==0){
maxDay=31
}else{
maxDay=30
}
}
}
if (m_Day>maxDay){
return false
}
return true
}
//读取Cookies信息
function GetCookie(strCookName){
var arvCookies=document.cookie.split("; ")
for(var i=0;i< arvCookies.length; i++) {
var arvOneCookie=arvCookies[i].split("=")
if (strCookName==arvOneCookie[0]){
return unescape(arvOneCookie[1])
}
}
return ""
}
//替换字符串中的非法字符
function Replace_Text(text){
var strTmp=text
strTmp=strTmp.replace("@", "@")
strTmp=strTmp.replace("?", "?")
strTmp=strTmp.replace("&", "&")
strTmp=strTmp.replace("‘’", "‘")
strTmp=strTmp.replace("<", "〈")
strTmp=strTmp.replace(">", "〉")
return strTmp
}
function Check_PassWord(text){
var strTmp=text
if (strTmp.indexOf("‘’")>-1){
return "‘’"
}
if (strTmp.indexOf("?")>-1){
return "?"
}
if (strTmp.indexOf("&")>-1){
return "&"
}
if (strTmp.indexOf("<")>-1){
return "<"
}
if (strTmp.indexOf(">")>-1){
return ">"
}
return ""
}
function Check_Url(text){
var strTmp=text
if (strTmp.indexOf("‘’")>-1){
return false
}
return true
}
//焦点控制
function document.onkeydown(){
var e = event.srcElement;
if (event.keyCode == 13 && e.tagName == "INPUT" && e.type == "text"){
event.keyCode = 9;
}
}
<% response.write "
1.oncontextmenu="window.event.returnvalue=false"将彻底屏蔽鼠标右键
<tableborderoncontextmenu=return(false)><
td>no</table>可用于table
2.<bodyonselectstart="returnfalse">取消选取、防止复制
3.onpaste="returnfalse"不准粘贴
4.oncopy="returnfalse;"oncut="returnfalse;"防止复制
5.<linkrel="shortcuticon"href="favicon.ico">ie地址栏前换成自己的图标
6.<linkrel="bookmark"href="favicon.ico">可以在收藏夹中显示出你的图标
7.<inputstyle="ime-mode:disabled">关闭输入法
8.永远都会带着框架
<scriptlanguage="javascript"><!--
if(window==top)top.location.href="frames.htm";//frames.htm为框架网页
//--></script>
9.防止被人frame
<scriptlanguage=javascript><!--
if(top.location!=self.location)top.location=self.location;
//--></script>
10.<noscript><iframesrc=*.html></iframe></noscript>网页将不能被另存为
11.<inputtype=buttonvalue=查看网页源代码
onclick="window.location=view-source:+<img src="pic/url.gif" align=absmiddle border=0> http://www.csdn.net/";;;;>
12.怎样通过asp的手段来检查来访者是否用了代理
<%ifrequest.servervariables("http_x_forwarded_for")<>""then
response.write"<fontcolor=#ff0000>您通过了代理服务器,"&_
"真实的ip为"&request.servervariables("http_x_forwarded_for")
endif
"%>
<% response.write"
13.取得控件的绝对位置
//javascript
<scriptlanguage="javascript">
functiongetie(e){
vart=e.offsettop;
varl=e.offsetleft;
while(e=e.offsetparent){
t+=e.offsettop;
l+=e.offsetleft;
}
alert("top="+t+"\nleft="+l);
}
</script>
//vbscript
<scriptlanguage="vbscript"><!--
functiongetie()
dimt,l,a,b
seta=document.all.img1
t=document.all.img1.offsettop
l=document.all.img1.offsetleft
whilea.tagname<>"body"
seta=a.offsetparent
t=t+a.offsettop
l=l+a.offsetleft
wend
msgbox"top="&t&chr(13)&"left="&l,64,"得到控件的位置"
endfunction
--></script>
14.光标是停在文本框文字的最后
<scriptlanguage="javascript">
functioncc()
{
vare=event.srcelement;
varr=e.createtextrange();
r.movestart(character,e.value.length);
r.collapse(true);
r.select();
}
</script>
<inputtype=textname=text1value="123"onfocus="cc()">
15.判断上一页的来源
asp:
request.servervariables("http_referer")
java script:
document.referrer
16.最小化、最大化、关闭窗口
<objectid=hh1classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<paramname="command"value="minimize"></object>
<objectid=hh2classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<paramname="command"value="maximize"></object>
<objectid=hh3classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<paramname="command"value="close"></object>
<inputtype=buttonvalue=最小化onclick=hh1.click()>
<inputtype=buttonvalue=最大化onclick=hh2.click()>
<inputtype=buttonvalue=关闭onclick=hh3.click()>
本例适用于ie
17.
<%
定义数据库连接的一些常量
constadopenforwardonly=0游标只向前浏览记录,不支持分页、recordset、bookmark
constadopenkeyset=1键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、recordset、bookmark
constadopendynamic=2动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(access不支持)。
constad
openstatic=3静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
constadlockreadonly=1锁定类型,默认的,只读,不能作任何修改
constadlockpessimistic=2当编辑时立即锁定记录,最
安全的方式
constadlockoptimistic=3只有在调用update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
constadlockbatchoptimistic=4当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的
constadcmdtext=&h0001
constadcmdtable=&h0002
" %>
18.网页不会被缓存
htm网页
<metahttp-equiv="pragma"content="no-cache">
<metahttp-equiv="cache-control"content="no-cache,must-revalidate">
<metahttp-equiv="expires"content="wed,26feb199708:21:57gmt">
或者<metahttp-equiv="expires"content="0">
asp网页
response.expires=-1
response.expiresabsolute=now()-1
response.cachecontrol="no-cache"
php网页
header("expires:mon,26jul199705:00:00gmt");
header("cache-control:no-cache,must-revalidate");
header("pragma:no-cache");
19.检查一段字符串是否全由数字组成
<scriptlanguage="javascript"><!--
functionchecknum(str){returnstr.match(/\d/)==null}
alert(checknum("1232142141"))
alert(checknum("123214214a1"))
//--></script>
20.获得一个窗口的大小
document.body.clientwidth,document.body.clientheight
21.怎么判断是否是字符
if(/[^\x00-\xff]/g.test(s))alert("含有汉字");
elsealert("全是字符");
22.textarea自适应文字行数的多少
<textarearows=1 name=s1 cols=27 onpropertychange="this.style.posheight=this.scrollheight">
</textarea>
23.日期减去天数等于第二个日期
<scriptlanguage=javascript>
functioncc(dd,dadd)
{
//可以加上错误处理
vara=newdate(dd)
a=a.valueof()
a=a-dadd*24*60*60*1000
a=newdate(a)
alert(a.getfullyear()+"年"+(a.getmonth()+1)+"月"+a.getdate()+"日")
}
cc("12/23/2002",2)
</script>
24.选择了哪一个radio
<html><scriptlanguage="vbscript">
functioncheckme()
foreachobinradio1
ifob.checkedthenwindow.alertob.value
next
endfunction
</script><body>
<input name="radio1" type="radio" value="style" checked>style
<input name="radio1" type="radio" value="barcode">barcode
<input type="button" value="check"onclick="checkme()">
</body></html>
25.获得本页url的request.servervariables("")集合
response.write"<tableborder=1><!--tableheader--><tr><td><b>variables</b></td><td><b>value</b></td></tr>"
foreachobinrequest.servervariables
response.write"<tr><td>"&ob&"</td><td>"&request.servervariables(ob)&"</td></tr>"
next
response.write"</table>"
26.
本机ip<%=request.servervariables("remote_addr")%>
服务器名<%=request.servervariables("server_name")%>
服务器ip<%=request.servervariables("local_addr")%>
服务器端口<%=request.servervariables("server_port")%>
服务器时间<%=now%>
iis版本<%=request.servervariables"server_software")%>
脚本超时时间<%=server.scripttimeout%>
本文件路径<%=server.mappath(request.servervariables("script_name"))%>
服务器cpu数量<%=request.servervariables("number_of_processors")%>
服务器解译引擎<%=scriptengine&"/" & scriptenginemajorversion &"." & scriptengineminorversion & "." & scriptenginebuildversion%>
服务器操作系统<%=request.servervariables("os")%>
27.enter键可以让光标移到下一个输入框
<input onkeydown="if(event.keycode==13)event.keycode=9">
28.检测某个网站的链接速度:
把如下代码加入<body>区域中:
<scriptlanguage=javascript>
tim=1
setinterval("tim++",100)
b=1
varautourl=newarray()
autourl[1]="< src="pic/url.gif" align=absmiddle border=0> www.njcatv.net"
autourl[2]="javacool.3322.net"
autourl[3]="< src="pic/url.gif" align=absmiddle border=0> www.sina.com.cn"
autourl[4]="www.nuaa.edu.cn"
autourl[5]="< src="pic/url.gif" align=absmiddle border=0> www.cctv.com"
functionbutt(){
document.write("<formname=autof>")
for(vari=1;i<autourl.length;i++)
document.write("<inputtype=textname=txt"+i+"size=10value=
测试中……>=》<inputtype=textname=url"+i+"size=40>=》<inputtype=buttonvalue=goonclick=window.open(this.form.url"+i+".value)><br/>")
document.write("<inputtype=submitvalue=刷新></form>")
}
butt()
functionauto(url){
document.forms[0]["url"+b].value=url
if(tim>200)
{document.forms[0]["txt"+b].value="链接超时"}
else
{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}
b++
}
functionrun(){for(vari=1;i<autourl.length;i++)document.write("<imgsrc=http://"+autourl+"/"+math.random()+"width=1height=1onerror=auto(< src="pic/url.gif" align=absmiddle border=0> http://";;;;;+autourl+")>")}
run()</script>
29.各种样式的光标
auto:标准光标
default:标准箭头
hand:手形光标
wait:等待光标
text:i形光标
vertical-text:水平i形光标
no-drop:不可拖动光标
not-allowed:无效光标
help:?帮助光标
all-scroll:三角方向标
move:移动标
crosshair:十字标
e-resize
n-resize
nw-resize
w-resize
s-resize
se-resize
sw-resize
1.本地无缓存,每次自动刷新
response.expires=0
response.addheader"pragma","no-cache"
response.addheader"cache-control","private"
2.修改contenttype并
下载gif等格式
<%
functiondl(f,n)
onerrorresumenext
sets=createobject("adodb.stream")
s.mode=3
s.type=1
s.open
s.loadfromfile(server.mappath(f))
iferr.number>0then
response.writeerr.number&":"&err.description
else
response.contenttype="application/x-gzip"
response.addheader"content-disposition:","attachment;filename="&n
response.binarywrite(s.read(s.size))
endif
endfunction
calldl("012922501.gif","t1.gif")
%>
19.检查一段字符串是否全由数字组成
<scriptlanguage="javascript"><!--
functionchecknum(str){return!/\d/.test(str)}
alert(checknum("1232142141"))
alert(checknum("123214214a1"))
//--></script>
20.获得一个窗口的大小
document.body.clientwidth,document.body.clientheight
document.body.offsetwidth,document.body.offsetheight
有时还需要知道window.screentop,window.screenleft
21.怎么判断是否含有汉字
if(escape(str).indexof("%u")!=-1)alert("含有汉字");
elsealert("全是字符");
22.textarea自适应文字行数的多少
ie5.5+可以用overflow-y:visible
<textarearows=1name=s1cols=27style="overflow-y:visible">
</textarea>
23.日期减去天数等于第二个日期
<scriptlanguage=javascript>
functioncc(dd,dadd)
{
//可以加上错误处理
vard=newdate(dd.replace("-","/"))
d.setdate(d.getdate()+dadd)
alert(d.getfullyear()+"年"+(d.getmonth()+1)+"月"+d.getdate()+"日")
}
cc("2002-2-28",2)
</script>
原文转自:http://www.ltesting.net