//特殊用途 //不緩存 //正則匹配 匹配中文字符的正則表達式: [/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- ./?%&=]*)? 以下是例子: 利用正則表達式限制網頁表單裏的文本框輸入內容: 用正則表達式限制只能輸入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))" 1.用正則表達式限制只能輸入全角字符: οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))" 2.用正則表達式限制只能輸入數字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" 3.用正則表達式限制只能輸入數字和英文:οnkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" //消除圖像工具欄 //無提示關閉 function Close() { var ua=navigator.userAgent var ie=navigator.appName=="Microsoft Internet Explorer"?true:false if(ie) { var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE ")))) if(IEversion< 5.5) { var str = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">' str += '<param name="Command" value="Close"></object>'; document.body.insertAdjacentHTML("beforeEnd", str); document.all.noTipClose.Click(); } else { window.opener =null; window.close(); } } else { window.close() } } //取得控件得絕對位置(1) <script language="javascript"> function getoffset(e) { var t=e.offsetTop; var l=e.offsetLeft; while(e=e.offsetParent) { t+=e.offsetTop; l+=e.offsetLeft; } var rec = new Array(1); rec[0] = t; rec[1] = l; return rec } </script> //獲得控件的絕對位置(2) oRect = obj.getBoundingClientRect(); oRect.left oRect. //最小化,最大化,關閉 //光標停在文字最後 <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" οnfοcus="cc()"> //頁面進入和退出的特效 進入頁面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)"> 推出頁面<meta http-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 //網頁是否被檢索 //打印分頁 //設置打印 <object id="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> <input type=button value=頁面設置 οnclick="factory.printing.PageSetup()"> <input type=button value=打印預覽 οnclick="factory.printing.Preview()"> <script language=javascript> function window.onload() { // -- advanced features factory.printing.SetMarginMeasure(2) // measure margins in inches factory.printing.SetPageRange(false, 1, 3) // need pages from 1 to 3 factory.printing.printer = "HP DeskJet 870C" factory.printing.copies = 2 factory.printing.collate = true factory.printing.paperSize = "A4" factory.printing.paperSource = "Manual feed" // -- basic features 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 } function Print(frame) { factory.printing.Print(true, frame) // print with prompt } </script> <input type=button value="打印本頁" οnclick="factory.printing.Print(false)"> <input type=button value="頁面設置" οnclick="factory.printing.PageSetup()"> <input type=button value="打印預覽" οnclick="factory.printing.Preview()"><br> <a href="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) 關閉窗體無提示 <style media=print> .Noprint{display:none;}<!--用本樣式在打印時隱藏非打印項目--> .PageNext{page-break-after: always;}<!--控制分頁--> </style> <object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"> </object> <center class="Noprint" > <input type=button value=打印 οnclick=document.all.WebBrowser.ExecWB(6,1)> <input type=button value=直接打印 οnclick=document.all.WebBrowser.ExecWB(6,6)> <input type=button value=頁面設置 οnclick=document.all.WebBrowser.ExecWB(8,1)> </p> <p> <input type=button value=打印預覽 οnclick=document.all.WebBrowser.ExecWB(7,1)> </center> //去掉打印時的頁眉頁腳 <script language="JavaScript"> var HKEY_Root,HKEY_Path,HKEY_Key; HKEY_Root="HKEY_CURRENT_USER"; HKEY_Path="//Software//Microsoft//Internet Explorer//PageSetup//"; //設置網頁打印的頁眉頁腳爲空 function PageSetup_Null() { try { var Wsh=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){} } //設置網頁打印的頁眉頁腳爲默認值 function PageSetup_Default() { try { var Wsh=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> <input type="button" value="清空頁碼" οnclick=PageSetup_Null()> <input type="button" value="恢復頁碼" οnclick=PageSetup_Default()> //瀏覽器驗證 function checkBrowser() { this.ver=navigator.appVersion this.dom=document.getElementById?1:0 this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0; this.ie5=(this.ver.indexOf("MSIE 5")>-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; } //計算內容寬和高 <SCRIPT language="javascript"> function test(obj) { var range = obj.createTextRange(); alert("內容區寬度: " + range.boundingWidth + "px/r/n內容區高度: " + range.boundingHeight + "px"); } </SCRIPT> <BODY> <Textarea id="txt" height="150">sdf</textarea><INPUT type="button" value="計算內容寬度" onClick="test(txt)"> </BODY> //無模式的提示框 //屏蔽按鍵 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <noscript><meta http-equiv="refresh" content="0;url=about:noscript"></noscript> <title>屏蔽鼠標右鍵、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格鍵</title> </head> <body> <script language="Javascript"><!-- //屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F11、F5刷新、退格鍵 //Author: meizz(梅花雨) 2002-6-18 function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠標右鍵 function window.onhelp(){return false} //屏蔽F1幫助 function document.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> |
JS應用1
JS應用1 (資料很全)
2007-07-05 10:04
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.