//过滤数字
//特殊用途
//不缓存
//正则匹配
匹配中文字符的正则表达式:[\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s|]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*)\/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http:
//([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup=
"value=value.replace(/[^\u4E00-\u9FA5]/g,'')"onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符:onkeyup=
"value=value.replace(/[^\uFF00-\uFFFF]/g,'')"onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup=
"value=value.replace(/[^\d]/g,'')"onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup=
"value=value.replace(/[\W]/g,'')"onbeforepaste=
"clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
//消除图像工具栏
//无提示关闭
functionClose()
{
varua=navigator.userAgent
varie=navigator.appName==
"MicrosoftInternetExplorer"?
true:false
if(ie)
{
varIEversion=parseFloat(ua.substring(ua.indexOf(
"MSIE")+5,ua.indexOf(
";",ua.indexOf(
"MSIE"))))
if(IEversion<5.5)
{
varstr='<objectid=noTipCloseclassid=
"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
str+='<paramname=
"Command"value=
"Close"></object>';
document.body.insertAdjacentHTML(
"beforeEnd",str);
document.all.noTipClose.Click();
}
else
{
window.opener=
null;
window.close();
}
}
else
{
window.close()
}
}
//取得控件得绝对位置(1)
<scriptlanguage=
"javascript">
functiongetoffset(e)
{
vart=e.offsetTop;
varl=e.offsetLeft;
while(e=e.offsetParent)
{
t+=e.offsetTop;
l+=e.offsetLeft;
}
varrec=
new
Array(1);
rec[0]=t;
rec[1]=l;
returnrec
}
</script>
//获得控件的绝对位置(2)
oRect=obj.getBoundingClientRect();
oRect.left
oRect.
//最小化,最大化,关闭
//光标停在文字最后
<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()">
//页面进入和退出的特效
进入页面<metahttp-equiv=
"Page-Enter"content=
"revealTrans(duration=x,transition=y)">
推出页面<metahttp-equiv=
"Page-Exit"content=
"revealTrans(duration=x,transition=y)">
这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使
用哪种特效,取值为1-23:
0矩形缩小
1矩形扩大
2圆形缩小
3圆形扩大
4下到上刷新
5上到下刷新
6左到右刷新
7右到左刷新
8竖百叶窗
9横百叶窗
10错位横百叶窗
11错位竖百叶窗
12点扩散
13左右到中间刷新
14中间到左右刷新
15中间到上下
16上下到中间
17右下到左上
18右上到左下
19左上到右下
20左下到右上
21横条
22竖条
23
//网页是否被检索
//打印分页
//设置打印
<objectid=
"factory"style=
"display:none"viewastext
classid=
"clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase=
"http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"
></object>
<inputtype=buttonvalue=页面设置onclick=
"factory.printing.PageSetup()">
<inputtype=buttonvalue=打印预览onclick=
"factory.printing.Preview()">
<scriptlanguage=javascript>
functionwindow.onload()
{
//--advancedfeatures
factory.printing.SetMarginMeasure(2)
//measuremarginsininches
factory.printing.SetPageRange(
false,1,3)
//needpagesfrom1to3
factory.printing.printer=
"HPDeskJet870C"
factory.printing.copies=2
factory.printing.collate=true
factory.printing.paperSize=
"A4"
factory.printing.paperSource=
"Manualfeed"
//--basicfeatures
factory.printing.header=
"居左显示&b居中显示&b居右显示页码,第&p页/共&P页"
factory.printing.footer=
"(自定义页脚)"
factory.printing.portrait=false
factory.printing.leftMargin=0.75
factory.printing.topMargin=1.5
factory.printing.rightMargin=0.75
factory.printing.bottomMargin=1.5
}
functionPrint(frame){
factory.printing.Print(
true,frame)
//printwithprompt
}
</script>
<inputtype=buttonvalue=
"打印本页"onclick=
"factory.printing.Print(false)">
<inputtype=buttonvalue=
"页面设置"onclick=
"factory.printing.PageSetup()">
<inputtype=buttonvalue=
"打印预览"onclick=
"factory.printing.Preview()"><br>
<ahref=
"http://www.meadroid.com/scriptx/docs/printdoc.htm?static"target=_blank>具体使用手册,更多信息,点这里</a>
//自带的打印预览
WebBrowser.ExecWB(1,1)打开
Web.ExecWB(2,1)关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1)保存网页
Web.ExecWB(6,1)打印
Web.ExecWB(7,1)打印预览
Web.ExecWB(8,1)打印页面设置
Web.ExecWB(10,1)查看页面属性
Web.ExecWB(15,1)好像是撤销,有待确认
Web.ExecWB(17,1)全选
Web.ExecWB(22,1)刷新
Web.ExecWB(45,1)关闭窗体无提示
<stylemedia=print>
.Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目-->
.PageNext{page-break-after:always;}<!--控制分页-->
</style>
<objectid=
"WebBrowser"width=0height=0classid=
"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</object>
<centerclass=
"Noprint">
<inputtype=buttonvalue=打印onclick=document.all.WebBrowser.ExecWB(6,1)>
<inputtype=buttonvalue=直接打印onclick=document.all.WebBrowser.ExecWB(6,6)>
<inputtype=buttonvalue=页面设置onclick=document.all.WebBrowser.ExecWB(8,1)>
</p>
<p><inputtype=buttonvalue=打印预览onclick=document.all.WebBrowser.ExecWB(7,1)>
</center>
//去掉打印时的页眉页脚
<scriptlanguage=
"JavaScript">
varHKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root=
"HKEY_CURRENT_USER";
HKEY_Path=
"\\Software\\Microsoft\\InternetExplorer\\PageSetup\\";
//设置网页打印的页眉页脚为空
functionPageSetup_Null()
{
try
{
varWsh=
new
ActiveXObject(
"WScript.Shell");
HKEY_Key=
"header";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,
"");
HKEY_Key=
"footer";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,
"");
}
catch(e){}
}
//设置网页打印的页眉页脚为默认值
functionPageSetup_Default()
{
try
{
varWsh=
new
ActiveXObject(
"WScript.Shell");
HKEY_Key=
"header";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,
"&w&b页码,&p/&P");
HKEY_Key=
"footer";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,
"&u&b&d");
}
catch(e){}
}
</script>
<inputtype=
"button"value=
"清空页码"onclick=PageSetup_Null()>
<inputtype=
"button"value=
"恢复页码"onclick=PageSetup_Default()>
//浏览器验证
functioncheckBrowser()
{
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie6=(
this.ver.indexOf(
"MSIE6")>-1&&
this.dom)?1:0;
this.ie5=(
this.ver.indexOf(
"MSIE5")>-1&&
this.dom)?1:0;
this.ie4=(document.all&&!
this.dom)?1:0;
this.ns5=(
this.dom&&parseInt(
this.ver)>=5)?1:0;
this.ns4=(document.layers&&!
this.dom)?1:0;
this.mac=(
this.ver.indexOf('Mac')>-1)?1:0;
this.ope=(navigator.userAgent.indexOf('Opera')>-1);
this.ie=(
this.ie6||
this.ie5||
this.ie4)
this.ns=(
this.ns4||
this.ns5)
this.bw=(
this.ie6||
this.ie5||
this.ie4||
this.ns5||
this.ns4||
this.mac||
this.ope)
this.nbw=(!
this.bw)
return
this;
}
//计算内容宽和高
<SCRIPTlanguage=
"javascript">
functiontest(obj)
{
varrange=obj.createTextRange();
alert(
"内容区宽度:"+range.boundingWidth
+
"px\r\n内容区高度:"+range.boundingHeight+
"px");
}
</SCRIPT>
<BODY>
<Textareaid=
"txt"height=
"150">sdf</textarea><INPUTtype=
"button"value=
"计算内容宽度"onClick=
"test(txt)">
</BODY>
//无模式的提示框
//屏蔽按键
<html>
<head>
<metahttp-equiv=
"Content-Type"content=
"text/html;charset=gb2312">
<noscript><metahttp-equiv=
"refresh"content=
"0;url=about:noscript"></noscript>
<title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</title>
</head>
<body>
<scriptlanguage=
"Javascript"><!--
//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
//Author:meizz(梅花雨)2002-6-18
functiondocument.oncontextmenu(){event.returnValue=
false;}
//屏蔽鼠标右键
functionwindow.onhelp(){
return
false}
//屏蔽F1帮助
functiondocument.onkeydown()
{
if((window.event.altKey)&&
((window.event.keyCode==37)||
//屏蔽Alt+方向键←
(window.event.keyCode==39)))
//屏蔽Alt+方向键→
{
alert(
"不准你使用ALT+方向键前进或后退网页!");
event.returnValue=
false;
}
/*注:这还不是真正地屏蔽Alt+方向键,
因为Alt+方向键弹出警告框时,按住Alt键不放,
用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
有哪位高手有真正屏蔽Alt键的方法,请告知。*/
if((event.keyCode==8)||
//屏蔽退格删除键
(event.keyCode==116)||
//屏蔽F5刷新键
(event.ctrlKey&&event.keyCode==82)){
//Ctrl+R
event.keyCode=0;
event.returnValue=
false;
}
if(event.keyCode==122){event.keyCode=0;event.returnValue=
false;}
//屏蔽F11
if(event.ctrlKey&&event.keyCode==78)event.returnValue=
false;
//屏蔽Ctrl+n
if(event.shiftKey&&event.keyCode==121)event.returnValue=
false;
//屏蔽shift+F10
if(window.event.srcElement.tagName==
"A"&&window.event.shiftKey)
window.event.returnValue=
false;
//屏蔽shift加鼠标左键新开一网页
if((window.event.altKey)&&(window.event.keyCode==115))
//屏蔽Alt+F4
{
window.showModelessDialog(
"about:blank",
"",
"dialogWidth:1px;dialogheight:1px");
return
false;
}
}
</script>
屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键
</body>
</html>
//屏蔽打印
<style>
@media print{
* {display:none}
}
</style>
//移动的图层,拖动
1.<spanstyle='position:absolute;width:200;height:200;background:red'onmousedown=MouseDown(
this)onmousemove=MouseMove()onmouseup=MouseUp()>meizz</span>
<scriptlanguage=javascript>
varObj;
functionMouseDown(obj)
{
Obj=obj;
Obj.setCapture();
Obj.l=event.x-Obj.style.pixelLeft;
Obj.t=event.y-Obj.style.pixelTop;
}
functionMouseMove()
{
if(Obj!=
null)
{
Obj.style.left=event.x-Obj.l;
Obj.style.top=event.y-Obj.t;
}
}
functionMouseUp()
{
if(Obj!=
null)
{
Obj.releaseCapture();
Obj=
null;
}
}
</script>
2.
<divid=
"myDiv"src=
"logo.gif"ondrag=
"doDrag();"onmouseover=
"this.style.cursor='hand'"style=
"position:absolute;left=100;top=100;"onmousedown=
"doMouseDown();">
<ahref=
"#"onclick=
"returnfalse"><h1>wlecome</h1></a>
</div>
<scriptlanguage=
"JavaScript"type=
"text/javascript">
varorgMouseX;
varorgMouseY;
varorgObjX;
varorgObjY;
functiondoDrag()
{
varmyObject=document.all.myDiv;
varx=event.clientX;
vary=event.clientY;
myObject.style.left=x-(orgMouseX-orgObjX);
myObject.style.top=y-(orgMouseY-orgObjY);
}
functiondoMouseDown()
{
orgMouseX=event.clientX;
orgMouseY=event.clientY;
orgObjX=parseInt(document.all.myDiv.style.left);
orgObjY=parseInt(document.all.myDiv.style.top);
}
</script>
//文档状态改变
<iframesrc=
"a.html"id=
"f"name=
"f"scrolling=
"no"frameborder=0marginwidth=0marginheight=0></iframe>
<script>
vardoc=window.frames[
"f"].document;
functions(){
if(doc.readyState==
"complete"){
document.all.f.style.height=doc.body.scrollHeight
document.all.f.style.width=doc.body.scrollWidth
}
}
doc.onreadystatechange=s
</script>
//刷新后不变的文本框
//访问剪贴板
//操作COOKIE
functionSetCookie(sName,sValue)
{
document.cookie=sName+
"="+escape(sValue)+
";";
}
functionGetCookie(sName)
{
varaCookie=document.cookie.split(
";");
for(
vari=0;i<aCookie.length;i++)
{
varaCrumb=aCookie[i].split(
"=");
if(sName==aCrumb[0])
returnunescape(aCrumb[1]);
}
}
functionDelCookie(sName)
{
document.cookie=sName+
"="+escape(sValue)+
";expires=Fri,31Dec199923:59:59GMT;";
}
//setTimeout增加参数
<script>
var_st=window.setTimeout;
window.setTimeout=
function(fRef,mDelay){
if(typeoffRef=='
function'){
varargu=
Array.prototype.slice.call(arguments,2);
varf=(
function(){fRef.apply(
null,argu);});
return_st(f,mDelay);
}
return_st(fRef,mDelay);
}
functiontest(x){
alert(x);
}
window.setTimeout(test,1000,'fason');
</script>
//自定义的apply,call
Function.prototype.apply=
function(obj,argu){
if(obj)obj.constructor.prototype._caller=
this;
varargus=
new
Array();
for(
vari=0;i<argu.length;i++)
argus[i]=
"argu["+i+
"]";
varr;
eval(
"r="+(obj?(
"obj._caller("+argus.join(
",")+
");"):(
"this("+argus.join(
",")+
");")));
returnr;
};
Function.prototype.call=
function(obj){
varargu=
new
Array();
for(
vari=1;i<arguments.length;i++)
argu[i-1]=arguments[i];
return
this.apply(obj,argu);
};
//下载文件
functionDownURL(strRemoteURL,strLocalURL)
{
try
{
varxmlHTTP=
new
ActiveXObject(
"Microsoft.XMLHTTP");
xmlHTTP.open(
"Get",strRemoteURL,
false);
xmlHTTP.send();
varadodbStream=
new
ActiveXObject(
"ADODB.Stream");
adodbStream.Type=1;
//1=adTypeBinary
adodbStream.Open();
adodbStream.write(xmlHTTP.responseBody);
adodbStream.SaveToFile(strLocalURL,2);
adodbStream.Close();
adodbStream=
null;
xmlHTTP=
null;
}
catch(e)
{
window.confirm(
"下载URL出错!");
}
//window.confirm("下载完成.");
}
//检验连接是否有效
functiongetXML(URL)
{
varxmlhttp=
new
ActiveXObject(
"microsoft.xmlhttp");
xmlhttp.Open(
"GET",URL,
false);
try
{
xmlhttp.Send();
}
catch(e){}
finally
{
varresult=xmlhttp.responseText;
if(result)
{
if(xmlhttp.Status==200)
{
return(
true);
}
else
{
return(
false);
}
}
else
{
return(
false);
}
}
}
//POST代替FORM
//组件是否安装
isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID"))
//检查网页是否存在
functionCheckURL(URL)
{
varxmlhttp=
new
ActiveXObject(
"Microsoft.XMLHTTP");
xmlhttp.Open(
"GET",URL,
false);
try
{
xmlhttp.Send();
varresult=xmlhttp.status;
}
catch(e){
return(
false);}
if(result==200)
{
return
true;
}
xmlhttp=
null;
return
false;
}
//连接数据库
<scriptlanguage=
"javascript">
//用JavaScript写服务器端连接数据库的代码示例
varconn=
new
ActiveXObject(
"ADODB.Connection");
conn.Open(
"Provider=SQLOLEDB.1;DataSource=localhost;UserID=sa;"
+
"Password=;InitialCatalog=pubs");
varrs=
new
ActiveXObject(
"ADODB.Recordset");
varsql=
"select*fromauthors";
rs.open(sql,conn);
shtml=
"<tablewidth='100%'border=1>";
shtml+=
"<trbgcolor='#f4f4f4'><td>au_id</td><td>au_lname</td><td>au_fname</td><td>phone</td><td>address</td><td>city</td><td>state</td><td>zip</td></tr>";
while(!rs.EOF)
{
shtml+=
"<tr><td>"+rs(
"au_id")+
"</td><td>"+rs(
"au_lname")+
"</td><td>"+rs(
"au_fname")+
"</td><td>"+rs(
"phone")+
"</td><td>"+rs(
"address")+
"</td><td>"+rs(
"city")+
"</td><td>"+rs(
"state")+
"</td><td>"+rs(
"zip")+
"</td></tr>";
rs.moveNext;
}
shtml+=
"</table>";
document.write(shtml);
rs.close();
rs=
null;
conn.close();
conn=
null;
</script>
//使用数据岛
<html>
<body>
srno:<inputtype=textdatasrc=#xmldateDataFLD=srnosize=
"76"><BR>
times:<inputtype=textdatasrc=#xmldateDataFLD=timessize=
"76"><BR>
<inputid=
"first"TYPE=buttonvalue=
"<< 第一条记录"onclick=
"xmldate.recordset.moveFirst()">
<inputid=
"prev"TYPE=buttonvalue=
"<上一条记录"onclick=
"xmldate.recordset.movePrevious()">
<inputid=
"next"TYPE=buttonvalue=
"下一条记录>"onclick=
"xmldate.recordset.moveNext()">
<inputid=
"last"TYPE=buttonvalue=
"最后一条记录>>"onclick=
"xmldate.recordset.moveLast()">
<inputid=<span
分享到:
评论