比較實用的js集錦

lingxyd_0發表於2011-08-28

 

比較實用的js集錦

 

事件源物件 
event.srcElement.tagName 
event.srcElement.type 
捕獲釋放 
event.srcElement.setCapture();  
event.srcElement.releaseCapture();   
事件按鍵 
event.keyCode 
event.shiftKey 
event.altKey 
event.ctrlKey 
事件返回值 
event.returnValue 
滑鼠位置 
event.x 
event.y 
窗體活動元素 
document.activeElement 
繫結事件 
document.captureEvents(Event.KEYDOWN); 
訪問窗體元素 
document.all("txt").focus(); 
document.all("txt").select(); 
窗體命令 
document.execCommand 
窗體COOKIE 
document.cookie 
選單事件 
document.oncontextmenu 
建立元素 
document.createElement("SPAN");   
根據滑鼠獲得元素: 
document.elementFromPoint(event.x,event.y).tagName=="TD 
document.elementFromPoint(event.x,event.y).appendChild(ms)   
窗體圖片 
document.images[索引] 
窗體事件繫結 
document.onmousedown=scrollwindow; 
元素 
document.窗體.elements[索引] 
物件繫結事件 
document.all.xxx.detachEvent('onclick',a); 
外掛數目 
navigator.plugins 
取變數型別 
typeof($js_libpath) == "undefined" 
下拉框 
下拉框.options[索引] 
下拉框.options.length 
查詢物件 
document.getElementsByName("r1"); 
document.getElementById(id); 
定時 
timer=setInterval('scrollwindow()',delay); 
clearInterval(timer); 
UNCODE編碼 
escape() ,unescape 
父物件 
obj.parentElement(dhtml) 
obj.parentNode(dom) 
交換表的行 
TableID.moveRow(2,1) 
替換CSS 
document.all.csss.href = "a.css"; 
並排顯示 
display:inline 
隱藏焦點 
hidefocus=true 
根據寬度換行 
style="word-break:break-all" 
自動重新整理 
<meta HTTP-EQUIV="refresh" C> 
簡單郵件 
<a  href="[email=aaa@bbb.com?subject=ccc&body=xxxyyy]mailto:aaa@bbb.com?subject=ccc&body=xxxyyy[/email]">   
快速轉到位置 
obj.scrollIntoView(true) 
錨 
<a name="first"> 
<a href="#first">anchors</a> 
網頁傳遞引數 
location.search(); 
可編輯 
obj.contenteditable=true 
執行選單命令 
obj.execCommand 
雙位元組字元 
/[^\x00-\xff]/ 
漢字 
/[\u4e00-\u9fa5]/ 
讓英文字串超出表格寬度自動換行 
word-wrap: break-word; word-break: break-all; 
透明背景 
<IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe> 
獲得style內容 
obj.style.cssText 
HTML標籤 
document.documentElement.innerHTML 
第一個style標籤 
document.styleSheets[0] 
style標籤裡的第一個樣式 
document.styleSheets[0].rules[0] 
防止點選空連結時,頁面往往重置到頁首端。 
<a href="javascript:function()">word</a> 
上一網頁源 
asp: 
request.servervariables("HTTP_REFERER") 
javascript: 
document.referrer 
釋放記憶體 
CollectGarbage(); 
禁止右鍵 
document.oncontextmenu = function() { return false;} 
禁止儲存 
<noscript><iframe src="*.htm"></iframe></noscript> 
禁止選取<body      Shortcut Icon" href="favicon.ico"> 
favicon.ico 名字最好不變16*16的16色,放虛擬目錄根目錄下 
收藏欄圖示 
<link rel="Bookmark" href="favicon.ico"> 
檢視原始碼 
<input type=button value=檢視網頁原始碼 > 
關閉輸入法 
<input style="ime-mode:disabled"> 
自動全選 
<input type=text name=text1 value="123" > 
ENTER鍵可以讓游標移到下一個輸入框 
<input > 
文字框的預設值 
<input type=text value="123" > 
title換行 
obj.title = "123 sdfs " 
獲得時間所代表的微秒 
var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime() 
視窗是否關閉 
win.closed 

checkbox扁平 
<input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br> 
獲取選中內容 
document.selection.createRange().duplicate().text 
自動完成功能 
<input  type=text  autocomplete=on>開啟該功能  
<input  type=text  autocomplete=off>關閉該功能 
視窗最大化 
<body > 
無關閉按鈕IE window.open("aa.htm", "meizz", "fullscreen=7"); 
統一編碼/解碼 alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe"))) 
encodeURIComponent對":"、"/"、";" 和 "?"也編碼 
高階應用(一) ~~~~~~~~~~~~~~ 


//各種尺寸 

s  +=  "\r\n網頁可見區域寬:"+  document.body.clientWidth;   
s  +=  "\r\n網頁可見區域高:"+  document.body.clientHeight;   
s  +=  "\r\n網頁可見區域高:"+  document.body.offsetWeight  +"  (包括邊線的寬)";   
s  +=  "\r\n網頁可見區域高:"+  document.body.offsetHeight  +"  (包括邊線的寬)";   
s  +=  "\r\n網頁正文全文寬:"+  document.body.scrollWidth;   
s  +=  "\r\n網頁正文全文高:"+  document.body.scrollHeight;   
s  +=  "\r\n網頁被捲去的高:"+  document.body.scrollTop;   
s  +=  "\r\n網頁被捲去的左:"+  document.body.scrollLeft;   
s  +=  "\r\n網頁正文部分上:"+  window.screenTop;   
s  +=  "\r\n網頁正文部分左:"+  window.screenLeft;   
s  +=  "\r\n螢幕解析度的高:"+  window.screen.height;   
s  +=  "\r\n螢幕解析度的寬:"+  window.screen.width;   
s  +=  "\r\n螢幕可用工作區高度:"+  window.screen.availHeight;   
s  +=  "\r\n螢幕可用工作區寬度:"+  window.screen.availWidth;   



//過濾數字 

<input type=text onkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false"> 


//特殊用途 

<input type=button value=匯入收藏夾 onclick="window.external.ImportExportFavorites(true,'http://localhost');"> 
<input type=button value=匯出收藏夾 onclick="window.external.ImportExportFavorites(false,'http://localhost');"> 
<input type=button value=整理收藏夾 onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)"> 
<input type=button value=語言設定   onclick="window.external.ShowBrowserUI('LanguageDialog', null)"> 
<input type=button value=加入收藏夾 onclick="window.external.AddFavorite('http://www.google.com/', 'google')"> 
<input type=button value=加入到頻道 onclick="window.external.addChannel('http://www.google.com/')"> 
<input type=button value=加入到頻道 onclick="window.external.showBrowserUI('PrivacySettings',null)"> 


//不快取 

<META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
<META HTTP-EQUIV="expires" CONTENT="0"> 


//正則匹配 

匹配中文字元的正規表示式: [\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,''))" 


//消除影象工具欄 

<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false">  
or 
<head> 
<meta http-equiv="imagetoolbar" content="no"> 
</head> 


//無提示關閉 

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. 


//最小化,最大化,關閉 

<object id=min classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">  
<param name="Command" value="Minimize"></object>  
<object id=max classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">  
<param name="Command" value="Maximize"></object>  
<OBJECT id=close classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">  
<PARAM NAME="Command" value="Close"></OBJECT>  
<input type=button value=最小化 onclick=min.Click()>  
<input type=button value=最大化 onclick=max.Click()>  
<input type=button value=關閉 onclick=close.Click()>  


//游標停在文字最後 


<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()"> 

//頁面進入和退出的特效 

進入頁面<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  


//網頁是否被檢索 <meta name="ROBOTS" content="屬性值"> 
  其中屬性值有以下一些: 
  屬性值為"all": 檔案將被檢索,且頁上鍊接可被查詢; 
  屬性值為"none": 檔案不被檢索,而且不查詢頁上的連結; 
  屬性值為"index": 檔案將被檢索; 
  屬性值為"follow": 查詢頁上的連結; 
  屬性值為"noindex": 檔案不檢索,但可被查詢連結; 
  屬性值為"nofollow":  


//列印分頁 <p  style="page-break-after:always">page1</p>   
<p  style="page-break-after:always">page2</p>   



//設定列印 

<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=頁面設定 onclick="factory.printing.PageSetup()"> 
<input type=button value=列印預覽 onclick="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="列印本頁" onclick="factory.printing.Print(false)"> 
<input type=button value="頁面設定" onclick="factory.printing.PageSetup()"> 
<input type=button value="列印預覽" onclick="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=列印 onclick=document.all.WebBrowser.ExecWB(6,1)>  
<input type=button value=直接列印 onclick=document.all.WebBrowser.ExecWB(6,6)>  
<input type=button value=頁面設定 onclick=document.all.WebBrowser.ExecWB(8,1)>  
</p>  
<p> <input type=button value=列印預覽 onclick=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="清空頁碼" onclick=PageSetup_Null()> 
<input type="button" value="恢復頁碼" onclick=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> 



//無模式的提示框 function modelessAlert(Msg) 
{ 
   window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"); 
} 



//遮蔽按鍵 
<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> 


//移動的圖層,拖動 

1.<span style='position:absolute;width:200;height:200;background:red' onmousedown=MouseDown(this) onmousemove=MouseMove() onmouseup=MouseUp()>meizz</span> 
<script language=javascript> 
var Obj; 
function MouseDown(obj) 
{ 
  Obj=obj; 
  Obj.setCapture(); 
  Obj.l=event.x-Obj.style.pixelLeft; 
  Obj.t=event.y-Obj.style.pixelTop; 
} 
function MouseMove() 
{ 
  if(Obj!=null) 
  { 
    Obj.style.left = event.x-Obj.l; 
    Obj.style.top = event.y-Obj.t; 
  } 
} 
function MouseUp() 
{ 
  if(Obj!=null) 
  { 
    Obj.releaseCapture(); 
    Obj=null; 
  } 
} 
</script> 
2. 
<div id="myDiv" src="logo.gif" ondrag="doDrag();" onmouseover="this.style.cursor='hand'" style="position:absolute;left=100;top=100;" onmousedown="doMouseDown();"> 
<a href="#" onclick="return false"><h1>wlecome</h1></a> 
</div> 
<script language="JavaScript" type="text/javascript"> 
var orgMouseX; 
var orgMouseY; 
var orgObjX; 
var orgObjY; 
function doDrag() 
{ 
var myObject=document.all.myDiv; 

var x=event.clientX; 
var y=event.clientY; 
myObject.style.left=x-(orgMouseX-orgObjX); 
myObject.style.top=y-(orgMouseY-orgObjY); 
  
} 
function doMouseDown() 
{ 
orgMouseX=event.clientX; 
orgMouseY=event.clientY; 
orgObjX=parseInt(document.all.myDiv.style.left); 
orgObjY=parseInt(document.all.myDiv.style.top); 
} 

</script> 
  
//文件狀態改變 

<iframe src="a.html" id="f" name="f" scrolling="no" frameborder=0 marginwidth=0 marginheight=0></iframe> 
<script> 
var doc=window.frames["f"].document; 
function s(){ 
if (doc.readyState=="complete"){ 
  document.all.f.style.height=doc.body.scrollHeight 
  document.all.f.style.width=doc.body.scrollWidth 
} 
} 
doc.onreadystatechange=s 
</script> 


//重新整理後不變的文字框 <HTML> 
<HEAD> 
<META NAME="save" CONTENT="history"> 
<STYLE> 
   .sHistory {behavior:url(#default#savehistory);} 
</STYLE> 
</HEAD> 
<BODY> 
<INPUT class=sHistory type=text id=oPersistInput> 
</BODY> 
</HTML> 

//訪問剪貼簿 

event.dataTransfer.setData("URL", oImage.src); 
sImageURL = event.dataTransfer.getData("URL") 
(2)普通訪問 
window.clipboardData.setData("Text",oSource.innerText); 
window.clipboardData.getData("Text"); 


//操作COOKIE 

function SetCookie(sName, sValue) 
{ 
document.cookie = sName + "=" + escape(sValue) + "; "; 
} 
function GetCookie(sName) 
{ 
var aCookie = document.cookie.split("; "); 
for (var i=0; i < aCookie.length; i++) 
{ 
   
  var aCrumb = aCookie.split("="); 
  if (sName == aCrumb[0])  
  return unescape(aCrumb[1]); 
} 
  
} 
function DelCookie(sName) 
{ 
document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;"; 
} 


//setTimeout增加引數 

<script> 
var _st = window.setTimeout; 
window.setTimeout = function(fRef, mDelay) { 
if(typeof fRef == 'function'){ 
  var argu = Array.prototype.slice.call(arguments,2); 
  var f = (function(){ fRef.apply(null, argu); }); 
  return _st(f, mDelay); 
} 
return _st(fRef,mDelay); 
} 
function test(x){ 
alert(x); 
} 
window.setTimeout(test,1000,'fason'); 
</script> 


//自定義的apply,call 

Function.prototype.apply = function (obj, argu) { 
if (obj) obj.constructor.prototype._caller = this;  
var argus = new Array(); 
for (var i=0;i<argu.length;i++) 
  argus = "argu[" + i + "]"; 
var r; 
eval("r = " + (obj ? ("obj._caller(" + argus.join(",") + ");") : ("this(" + argus.join(",") + ");"))); 
return r; 
}; 
Function.prototype.call = function (obj) { 
var argu = new Array(); 
for (var i=1;i<arguments.length;i++) 
  argu[i-1] = arguments; 
return this.apply(obj, argu); 
};        

//下載檔案 

function DownURL(strRemoteURL,strLocalURL) 
{ 
try 
{ 
  var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlHTTP.open("Get",strRemoteURL,false); 
  xmlHTTP.send(); 
  var adodbStream=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("下載完成."); 
} 

//檢驗連線是否有效 

function getXML(URL)  
{ 
var xmlhttp = new ActiveXObject("microsoft.xmlhttp"); 
xmlhttp.Open("GET",URL, false);  
try 
{  
  xmlhttp.Send(); 
} 
catch(e){} 
finally  
{ 
  var result = xmlhttp.responseText; 
  if(result)  
  { 
   if(xmlhttp.Status==200) 
   { 
    return(true); 
   } 
   else  
   { 
    return(false); 
   } 
  } 
  else  
  { 
   return(false); 
  } 
} 
} 



//POST代替FORM 

<SCRIPT language="VBScript"> 
Function URLEncoding(vstrIn) 
    strReturn = "" 
    For i = 1 To Len(vstrIn) 
        ThisChr = Mid(vStrIn,i,1) 
        If Abs(Asc(ThisChr)) < &HFF Then 
            strReturn = strReturn & ThisChr 
        Else 
            innerCode = Asc(ThisChr) 
            If innerCode < 0 Then 
                innerCode = innerCode + &H10000 
            End If 
            Hight8 = (innerCode  And &HFF00)\ &HFF 
            Low8 = innerCode And &HFF 
            strReturn = strReturn & "%" & Hex(Hight8) &  "%" & Hex(Low8) 
        End If 
    Next 
    URLEncoding = strReturn 
End Function 
Function bytes2BSTR(vIn) 
    strReturn = "" 
    For i = 1 To LenB(vIn) 
        ThisCharCode = AscB(MidB(vIn,i,1)) 
        If ThisCharCode < &H80 Then 
            strReturn = strReturn & Chr(ThisCharCode) 
        Else 
            NextCharCode = AscB(MidB(vIn,i+1,1)) 
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) 
            i = i + 1 
        End If 
    Next 
    bytes2BSTR = strReturn 
End Function 
dim strA,oReq 
strA = URLEncoding("submit1=Submit&text1=中文") 
set oReq = CreateObject("MSXML2.XMLHTTP") 
oReq.open "POST","http://ServerName/VDir/TstResult.asp",false 
oReq.setRequestHeader "Content-Length",Len(strA) 
oReq.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded" 
oReq.send strA 
msgbox bytes2BSTR(oReq.responseBody) 
</SCRIPT> 

//readyState是xmlhttp返回資料的進度,0=載入中,1=未初始化,2=已載入,3=執行中,4=完成 


高階應用(二)~~~~~~~~~~~~~~~~ 


//元件是否安裝 

isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID")) 



//檢查網頁是否存在 

function CheckURL(URL) 
{ 
  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlhttp.Open("GET",URL, false); 
  try 
  {  
    xmlhttp.Send();  
    var result = xmlhttp.status; 
  } 
  catch(e) {return(false); } 
  if(result==200) 
  {  
    return true; 
  } 
  xmlhttp = null; 
  return false; 
} 


//連線資料庫 

<script language="javascript"> 
  //用 JavaScript 寫伺服器端連線資料庫的程式碼示例 
  var conn = new ActiveXObject("ADODB.Connection"); 
  conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; " 
    +"Password=; Initial Catalog=pubs"); 
  var rs = new ActiveXObject("ADODB.Recordset"); 
  var sql="select * from authors"; 
  rs.open(sql, conn); 
shtml = "<table width='100%' border=1>"; 
shtml +="<tr bgcolor='#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:<input type=text datasrc=#xmldate DataFLD=srno size="76"><BR> 
times:<input type=text datasrc=#xmldate DataFLD=times size="76"><BR> 
<input id="first" TYPE=button value="<< 第一條記錄" onclick="xmldate.recordset.moveFirst()"> 
<input id="prev" TYPE=button value="<上一條記錄" onclick="xmldate.recordset.movePrevious()">   
<input id="next" TYPE=button value="下一條記錄>" onclick="xmldate.recordset.moveNext()">   
<input id="last" TYPE=button value="最後一條記錄>>" onclick="xmldate.recordset.moveLast()">    
<input id="Add" TYPE=button value="新增新記錄" onclick="xmldate.recordset.addNew()">   

<XML ID="xmldate"> 
<infolist> 
<info ><srno>20041025-01</srno><times>null</times></info> 
<info ><srno>20041101-09</srno><times>2004年10月1日2點22分0秒</times></info> 
</infolist> 
</XML> 
</body> 
</html> 


//獲得引數 

<body> 
<a href="javascript:location.href=location.href + '?a=1&b=2'">search</a> 
<script language="JavaScript"> 
<!-- 
var a = location.search.substr(1); 
if(a.length>0) 
{ 
var re = /([^&]*?)\=([^&]*)/g 
var s = a.match(re); 
for(var i= 0;i<s.length;i++) 
{ 
  alert(s); 
  alert(s.split("=")[1]); 
} 
} 
//--> 
</script> 
</body> 



//可編輯SELECT 

<input type=text name=re_name style="width:100px;height:21px;font-size:10pt;"><span style="width:18px;border:0px solid red;"><select name="r00" style="margin-left:-100px;width:118px; background-color:#FFEEEE;" onChange="document.all.re_name.value=this.value;"> 
                <option value="1">11111111<option> 
                <option value="2">222222</option> 
                <option value="3">333333</option> 
              </select> 
              </span> 



//設定游標位置 

function getCaret(textbox) 
{ 
var control = document.activeElement; 
textbox.focus(); 
var rang = document.selection.createRange(); 
  rang.setEndPoint("StartToStart",textbox.createTextRange()) 
control.focus(); 
return rang.text.length; 
} 
function setCaret(textbox,pos) 
{ 
try 
{ 
  var r =textbox.createTextRange(); 
   r.moveStart('character',pos); 
   r.collapse(true); 
   r.select(); 
} 
catch(e) 
{} 
} 
function selectLength(textbox,start,len) 
{ 
try 
{ 
  var r =textbox.createTextRange(); 
  
  r.moveEnd('character',len-(textbox.value.length-start)); 
  r.moveStart('character',start); 
   
  r.select(); 
} 
catch(e) 
{//alert(e.description)} 
} 
function insertAtCaret(textbox,text) 
{ 
textbox.focus(); 
document.selection.createRange().text = text; 
} 

//頁內查詢 

function findInPage(str) 
{ 
var txt, i, found,n = 0; 
if (str == "") 
{ 
  return false; 
} 
txt = document.body.createTextRange(); 
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) 
{ 
  txt.moveStart("character", 1); 
  txt.moveEnd("textedit"); 
} 
if (found) 
{ 
  txt.moveStart("character", -1); 
  txt.findText(str); 
  txt.select(); 
  txt.scrollIntoView(); 
  n++;   
} 
else 
{ 
  if (n > 0) 
  { 
   n = 0; 
   findInPage(str); 
  } 
  else 
  { 
   alert(str + "...            您要找的文字不存在。\n \n請試著輸入頁面中的關鍵字再次查詢!"); 
  } 
} 
return false; 
} 




//操作EXECL 

<script language="javascript"> 
function jStartExcel() { 
var xls = new ActiveXObject ( "Excel.Application" ); 
xls.visible = true; 
var newBook = xls.Workbooks.Add; 
newBook.Worksheets.Add; 
newBook.Worksheets(1).Activate; 
xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation = 2; 
xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize = 5; 
newBook.Worksheets(1).Columns("A").columnwidth=50; 
newBook.Worksheets(1).Columns("A").WrapText = true; 
newBook.Worksheets(1).Columns("B").columnwidth=50; 
newBook.Worksheets(1).Columns("B").WrapText = true; 
newBook.Worksheets(1).Range("A1:B1000").NumberFormat = "0"; 
newBook.Worksheets(1).Range("A1:B1000").HorizontalAlignment = -4131; 
newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex="15"; 
newBook.Worksheets(1).Cells(1,1).value="First Column, First Cell"; 
newBook.Worksheets(1).Cells(2,1).value="First Column, Second Cell"; 
newBook.Worksheets(1).Cells(1,2).value="Second Column, First Cell"; 
newBook.Worksheets(1).Cells(2,2).value="Second Column, Second Cell"; 
newBook.Worksheets(1).Name="My First WorkSheet"; 
} 
</script> 


//自定義提示條 

<a href="#" title="這是提示">tip</a> 
<script Language="JavaScript"> 
//***********預設設定定義.********************* 
tPopWait=50;//停留tWait豪秒後顯示提示。 
tPopShow=5000;//顯示tShow豪秒後關閉提示 
showPopStep=20; 
popOpacity=99; 
//***************內部變數定義***************** 
sPop=null; 
curShow=null; 
tFadeOut=null; 
tFadeIn=null; 
tFadeWaiting=null; 
document.write("<style type='text/css'id='defaultPopStyle'>"); 
document.write(".cPopText {  background-color: #F8F8F5;color:#000000; border: 1px #000000 solid;font-color: font-size: 12px; padding-right: 4px; padding-left: 4px; height: 20px; padding-top: 2px; padding-bottom: 2px; filter: Alpha(Opacity=0)}"); 
document.write("</style>"); 
document.write("<div id='dypopLayer' style='position:absolute;z-index:1000;' class='cPopText'></div>"); 

function showPopupText(){ 
var o=event.srcElement; 
MouseX=event.x; 
MouseY=event.y; 
if(o.alt!=null && o.alt!=""){o.dypop=o.alt;o.alt=""}; 
        if(o.title!=null && o.title!=""){o.dypop=o.title;o.title=""}; 
if(o.dypop!=sPop) { 
sPop=o.dypop; 
clearTimeout(curShow); 
clearTimeout(tFadeOut); 
clearTimeout(tFadeIn); 
clearTimeout(tFadeWaiting); 
if(sPop==null || sPop=="") { 
dypopLayer.innerHTML=""; 
dypopLayer.style.filter="Alpha()"; 
dypopLayer.filters.Alpha.opacity=0; 
} 
else { 
if(o.dyclass!=null) popStyle=o.dyclass  
else popStyle="cPopText"; 
curShow=setTimeout("showIt()",tPopWait); 
} 
} 
} 
function showIt(){ 
dypopLayer.className=popStyle; 
dypopLayer.innerHTML=sPop; 
popWidth=dypopLayer.clientWidth; 
popHeight=dypopLayer.clientHeight; 
if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24 
else popLeftAdjust=0; 
if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24 
else popTopAdjust=0; 
dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust; 
dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust; 
dypopLayer.style.filter="Alpha(Opacity=0)"; 
fadeOut(); 
} 
function fadeOut(){ 
if(dypopLayer.filters.Alpha.opacity<popOpacity) { 
dypopLayer.filters.Alpha.opacity+=showPopStep; 
tFadeOut=setTimeout("fadeOut()",1); 
} 
else { 
dypopLayer.filters.Alpha.opacity=popOpacity; 
tFadeWaiting=setTimeout("fadeIn()",tPopShow); 
} 
} 
function fadeIn(){ 
if(dypopLayer.filters.Alpha.opacity>0) { 
dypopLayer.filters.Alpha.opacity-=1; 
tFadeIn=setTimeout("fadeIn()",1); 
} 
} 
document.onmouseover=showPopupText; 
</script> 


//插入文字 

document.onclick =function(){  
var oSource = window.event.srcElement;  
if(oSource.tagName!="DIV")  
return false;  
var sel = document.selection;  
if (sel!=null) {  
var rng = sel.createRange();  
if (rng!=null)  
rng.pasteHTML("<font color=red>插入文字</font>");  
}  
}  



//netscapte下操作xml 

doc = new ActiveXObject("Msxml2.DOMDocument"); 
doc = new ActiveXObject("Microsoft.XMLDOM") 
->> 
doc = (new DOMParser()).parseFromString(sXML,'text/xml') 


//禁止FSO 

1.登出元件 
regsvr32 /u scrrun.dll 
2.修改PROGID  
HKEY_CLASSES_ROOT\Scripting.FileSystemObject 
Scripting.FileSystemObject 
3.對於使用object的使用者,修改HKEY_CLASSES_ROOT\Scripting. 


//省略號 

<DIV STYLE="width: 120px; height: 50px; border: 1px solid blue; 
            overflow: hidden; text-overflow:ellipsis"> 
<NOBR>就是比如有一行文字,很長,表格內一行顯示不下.</NOBR> 
</DIV> 


//判斷鍵值 

<html> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<head> 
<script language="javascript"> 
var ie  =navigator.appName=="Microsoft Internet Explorer"?true:false; 
   
function keyDown(e) 
{ 
if(!ie) 
{ 
  var nkey=e.which; 
  var iekey='現在是ns瀏覽器'; 
  var realkey=String.fromCharCode(e.which); 
} 
if(ie) 
{ 
  var iekey=event.keyCode; 
  var nkey='現在是ie瀏覽器'; 
  var realkey=String.fromCharCode(event.keyCode); 
  if(event.keyCode==32){realkey='\' 空格\''} 
  if(event.keyCode==13){realkey='\' 回車\''} 
  if(event.keyCode==27){realkey='\' Esc\''} 
  if(event.keyCode==16){realkey='\' Shift\''} 
  if(event.keyCode==17){realkey='\' Ctrl\''} 
  if(event.keyCode==18){realkey='\' Alt\''} 
} 
alert('ns瀏覽器中鍵值:'+nkey+'\n'+'ie瀏覽器中鍵值:'+iekey+'\n'+'實際鍵為'+realkey); 
} 
document.onkeydown = keyDown; 
</script> 
</head> 
<body> 
//Javascript Document. 
<hr> 
<center> 
<h3>請按任意一個鍵。。。。</h3> 
</center> 
</body> 
</html> 



//檢測media play版本 

<IE:clientCaps ID="oClientCaps" style="{behavior:url(#default#clientcaps)}" /> 
<SCRIPT> 
var flash=""; 
    WMPVersion= oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID");  
    if (WMPVersion != "") { 
    flash = ""; 
    var version = WMPVersion.split(","); 
    var i; 
    for (i = 0; i < version.length; i++) { 
      if (i != 0) 
    flash += "."; 
      flash += version; 
    } 
     document.write("您的Windows Media Player 版本是:"+flash+"<p>"); 
  } 
</SCRIPT> 



//圖象按比例 

<script language="JavaScript"> 
<!-- 
//圖片按比例縮放 
var flag=false; 
function DrawImage(ImgD){ 
var image=new Image(); 
var iwidth = 80;  //定義允許圖片寬度 
var iheight = 80;  //定義允許圖片高度 
image.src=ImgD.src; 
if(image.width>0 && image.height>0){ 
flag=true; 
if(image.width/image.height>= iwidth/iheight){ 
  if(image.width>iwidth){   
  ImgD.width=iwidth; 
  ImgD.height=(image.height*iwidth)/image.width; 
  }else{ 
  ImgD.width=image.width;   
  ImgD.height=image.height; 
  } 
  ImgD.alt=image.width+"×"+image.height; 
  } 
else{ 
  if(image.height>iheight){   
  ImgD.height=iheight; 
  ImgD.width=(image.width*iheight)/image.height;   
  }else{ 
  ImgD.width=image.width;   
  ImgD.height=image.height; 
  } 
  ImgD.alt=image.width+"×"+image.height; 
  } 
} 
}  
//--> 
</script> 
<img src=".." onload = "DrawImage(this)"> 



//細線SELECT 

<span style="border:1px solid #000000; position:absolute; overflow:hidden;" > 
<select style="margin:-2px;"> 
<option>1111</option> 
<option>11111111111111</option> 
<option>111111111</option> 
</select></span> 


//Import 

function Import() { 
for( var i=0; i<arguments.length; i++ ) { 
  var file = arguments; 
  if ( file.match(/\.js$/i))  
   document.write('<script type=\"text/javascript\" src=\"' + file + '\"></sc' + 'ript>'); 
  else 
   document.write('<style type=\"text/css\">@import \"' + file + '\" ;</style>'); 
} 
}; 


//js列舉 

function getComputerName() 
{ 
var objWMIService = GetObject("Winmgmts:root\cimv2"); 
for(e = new Enumerator(objWMIService) ; !e.atEnd() ; e.moveNext()) 
{ 
    var getComputer = e.item(); 
    return getComputer.Name; 
} 
} 


//條件編譯 

<script language=javascript> 
/*@cc_on @*/ 
/*@if (@_win32 && @_jscript_version>5) 
function window.confirm(str) 
{ 
    execScript("n = msgbox('"+ str +"', 257)", "vbscript"); 
    return(n == 1); 
} 
@end @*/ 
</script> 


//取得innerText 


<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0"); 
var currNode; 
xmlDoc.async = false; 
xmlDoc.async = false; 
xmlDoc.loadXML("<TABLENAME>      你好你阿三    大法     司法等四              </TABLENAME>"); 
currNode = xmlDoc.documentElement; 
    
  var s = currNode.xml; 
  var r = /\<([^\>\s]*?)[^\>]*?\>([^\<]*?)\<\/\1\>/ 
  var b = s.replace(r,"$2"); 
  alert(b); 
//--> 
</SCRIPT> 


//mergeAttributes 複製所有讀/寫標籤屬性到指定元素。 

<SCRIPT> 
function fnMerge(){ 
oSource.children[1].mergeAttributes(oSource.children[0]); 
} 
</SCRIPT> 
<SPAN ID=oSource> 
<DIV 
ID="oDiv" 
ATTRIBUTE1="true" 
ATTRIBUTE2="true" 
onclick="alert('click');" 
onmouseover="this.style.color='#0000FF';" 
onmouseout="this.style.color='#000000';" 
> 
This is a sample <B>DIV</B> element. 
</DIV> 
<DIV ID="oDiv2"> 
This is another sample <B>DIV</B> element. 
</DIV> 
</SPAN> 
<INPUT 
TYPE="button" 
VALUE="Merge Attributes" 
onclick="fnMerge()" 
> 

JavaScript[物件.屬性]集錦 
SCRIPT 標記  

用於包含javascript程式碼.  

語法  

屬性  

LANGUAGE 定義指令碼語言  

SRC 定義一個URL用以指定以.JS結尾的檔案 


windows物件  

每個HTML文件的頂層物件.  

屬性  

frames[] 子楨陣列.每個子楨陣列按源文件中定義的順序存放.  

feames.length 子楨個數.  

self 當前視窗.  

parent 父視窗(當前視窗是中一個子視窗).  

top 頂層視窗(是所有可見視窗的父視窗).  

status 瀏覽器狀態視窗上的訊息.  

defaultStatus 當status無效時,出現在瀏覽器狀態視窗上的預設訊息.  

name 內部名,為由window.open()方法開啟的視窗定義的名字.  

方法  

alert("message") 顯示含有給定訊息的"javascript Alert"對話方塊.  

confirm("message") 顯示含有給定訊息的"Confirm"對話方塊(有一個OK按鈕和一個Cancel按鈕).如果使用者單擊OK返回true,否則返回false.  

prompt("message") 顯示一個"prompt"對話方塊,要求使用者根據顯示訊息給予相應輸入.  

open("URL","name") 開啟一個新視窗,給予一個指定的名字.  

close() 關閉當前視窗. 


frame物件  

它是整個瀏覽器視窗的子視窗,除了status,defaultStatus,name屬性外,它擁有window物件的全部屬性.  

location物件  

含有當前URL的資訊.  

屬性  

href 整個URL字串.  

protocol 含有URL第一部分的字串,如http:  

host 包含有URL中主機名:埠號部分的字串.如//www.cenpok.net/server/  

hostname 包含URL中主機名的字串.如http://www.cenpok.net  

port 包含URL中可能存在的埠號字串.  

pathname URL中"/"以後的部分.如~list/index.htm  

hash "#"號(CGI引數)之後的字串.  

search "?"號(CGI引數)之後的字串.  


document物件 

含有當前文件資訊的物件. 

屬性 

title 當前文件標題,如果未定義,則包含"Untitled". 

location 文件的全URL. 

lastModified 含有文件最後修改日期. 

referrer 呼叫者URL,即使用者是從哪個URL連結到當前頁面的. 

bgColor 背景色(#xxxxxx) 

fgColor 前景文字顏色. 

linkColor 超連結顏色. 

vlinkColor 訪問過的超鏈顏色. 

alinkColor 啟用鏈顏色(滑鼠按住未放時). 

forms[] 文件中form物件的陣列,按定義次序儲存. 

forms.length 文件中的form物件數目. 

links[] 與文件中所有HREF鏈對應的陣列物件,按次序定義儲存. 

links.length 文件中HREF鏈的數目. 

anchors[] 錨(...)陣列,按次序定義儲存. 

anchors.length 文件中錨的數目. 

方法 

write("string") 將字串突出給當前視窗.(字串可以含有HTML標記) 

writeln("string") 與write()類似,在結尾追加回車符,只在預定格式文字中(...或...)生效. 

clear() 清當前視窗. 

close() 關閉當前視窗. 


form物件 

屬性 

name 

中的NAME屬性的字串值. 

method 中METHOD屬性的類值,"0"="GET" ,"1"="POST" . 

action 中ACTION屬性的字串值. 

target 表格資料提交的目標,與標記中相應屬性一致. 

elements[index] elements屬性包含form中的各個元素. 

length 表格中的元素個數. 

方法 

submit() 提交表格. 

事件處理器onSubmit() 使用者單擊一個定義好的按鈕提交form時執行的程式碼. 

text和textarea物件 

屬性 

name NAME屬性的字串值. 

value 域內容的字串值. 

defaultValue 域內容的初始字串值. 

方法 

focus() 設定物件輸入焦點. 

blur() 從物件上移走輸入焦點. 

select() 選定物件的輸入區域. 

事件處理器 

onFocus 當輸入焦點進入時執行. 

onBlur 當域失去焦點時執行. 

onSelect 當域中有部分文字被選定時執行. 

onChange 當域失去焦點且域值相對於onFocus執行有所改變時執行. 

核取方塊(checkbox)物件 

屬性 
name NAME屬性的字串值. 

value 核取方塊內容的字串值.如果設定了,則為"on",否則為"off". 

checked 核取方塊內容的布林值.如果設定了,則為true,否則為false . 

defaultChecked 反映(CHECKED)屬性的布林值(預設狀態). 

方法 

click() 選定核取方塊,並使之狀態為"on". 

事件處理器 

onClick 當使用者單擊Checkbox時執行. 


單選按鈕(radio)物件 

屬性 

name NAME屬性的字串值. 

length radio物件中單選按鈕的個數. 

value VALUE屬性的字串值. 

checked 布林值,按下為true,否則為false . 

defaultChecked 反映CHECKED屬性值的布林值. 

方法 

click() 選定單選按鈕. 

事件處理器 

onClick 當單選按鈕被選定時執行. 


select物件 

屬性 

length select物件中物件的個數. 

name 由NAME=屬性定義的select物件的內部名. 

selectedIndex select物件中當前被選option的下標. 

options 該屬性對應於在HTML中定義select物件時標記中的內容,它有如下屬性: 

text 標記後的文字串. 

value VALUE屬性的值,當Submit按鈕被按下時,該值被提交. 

defaultSelected 反映標記的SELECTED屬性的布林值. 

selected 反映option的當前選擇狀態的布林值. 

事件處理器 

onFocus 當輸入焦點進入域時執行. 

onBlur 當域失去輸入焦點時執行. 

onChange 當域失去焦點且如果域的值相對於onFocus執行時有所改變,則執行onChange. 


Button物件 

表格中有三種型別按鈕,由標記中的TYPE屬性定義: 

.submit (type="SUBMIT") 
.reset (type="RESET") 
.custom (type="BUTTON") 

所有按鈕物件都有如下成分: 
屬性 

value VALUE屬性的字串值. 

name NAME屬性的字串值. 
方法 

click() 選定按鈕 

事件處理器 

onClick 當按鈕被單擊時執行. 


submit和reset物件 

屬性 

value VALUE=屬性的內容. 

name NAME=屬性的內容. 

方法 

click() 選定按鈕 

事件處理器 

onClick 當按鈕被單擊時執行. 


password物件 

屬性 

defaultValue VALUE=屬性的內容. 

name NAME=屬性的內容. 

value 目前輸入password域的資料. 

方法 

focus() 將焦點帶入password域. 

blur 將焦點從password域移出. 

select() 選定password域中的當前資料,以備修改. 


navigator物件 
該物件用於確定使用者訪問時使用的Navigator版本. 

屬性 

appCodeName 相對於使用者瀏覽器的"codename" 

appName 相對於使用者瀏覽器的實際名字. 

appVersion 相對於使用者瀏覽器的版本號. 

userAgent 該屬性反映使用者瀏覽器的全部資訊. 


string物件 

string物件為操作字串的內容提供了很多方法. 

屬性 

length 字串的長度,即字串中字元的個數. 

方法 

big(),blink(),bold(),fixed(),italics(),small(),sub(),strike(),sup(),fontColor(color),fontSize(size) 

以上方法為字串增加相應的HTML標記. 

charAt(index) 返回字串中index處的字元. 

indexOf(searchValue,[fromIndex]) 該方法在字串中尋找第一次出現的searchValue.如果給定了fromIndex,則從 字串內該位置開始搜尋,當searchValue找到後,返回該串第一個字元的位置. 

lastIndexOf(searchValue,[fromIndex]) 從字串的尾部向前搜尋searchValue,並報告找到的第一個例項. 

substring(indexA,indexB) 獲取自indexA到indexB的子串. 

toLowerCase(),toUpperCase() 將字串中所有字元全部轉換成大寫,小寫. 


Date物件 

要使用Date物件,必須先生成一個Date例項: 

變數名=new Date(); 

方法 
getDay(),getDate(),getHours(),getMinutes(),getMonth(),getSeconds(),getTime(), 
getTimeZoneOffset(),getYear() 

還有setDay... ... 

toGMTString() 用GMT格式返回當前時間. (Sun,12 Feb 1999 14:19:22 GMT) 

toLocaleString 用locale格式返回當前時間. (03/11/99 14:19:22) 

parse(date) 將普通date字串轉換成豪秒形式,從而給setTime()做引數. 


Math物件 

屬性 

LN10 (10的自然對數) 

PI (3.1415926...) 

SQRT1_2 (1/2的平方根) 

方法 

abs(x) 返回x的絕對值 
acos(x) 返回x的arc cosine值 
asin(x) 返回x的arc sin值 
atan(x) 返回x的arc tangent值 
ceil(x) 返回大於等於x的最小整數 
cos(x) 返回x的cosine值 
exp(x) 返回e的x次方 
floor(x) 返回小於等於x的最大整數 
log(x) 返回x的 
max(x,y) 返回x,y中的大值 
min(x,y) 返回x,y中的小值 
pow(x,y) 返回x的y次方 
round(x) 舍入到最近整數,(小於或等於0.5小數捨去) 
sin(x) 返回x的sin值 
sqrt(x) 返回x的平方根 
tan(x) 返回x的tangent值 


彈窗程式碼彙總 
【0、超完美彈窗程式碼 】 
功能:5小時彈一次+背後彈出+自動適應不同分辯率+準全屏顯示 

程式碼: 
<script> 
function openwin(){ 
window.open(http://www.6882.com,"pop1","width="+(window.screen.width-15)+",height="+(window.screen.height-170)+",left=0,top=0,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,location=yes,status=yes") 
setTimeout("focus();",5); 
} 
function get_cookie(Name) { 
var search = Name + "=" 
var return&#118alue = ""; 
if (documents&#46cookie.length > 0) { 
offset = documents&#46cookie.indexOf(search) 
if (offset != -1) { 
offset += search.length 
end = documents&#46cookie.indexOf(";", offset); 
if (end == -1) 
end = documents&#46cookie.length; 
return&#118alue=unescape(documents&#46cookie.substring(offset, end)) 
} 
} 
return return&#118alue; 
} 
function Set() 
{ 
  var Then = new Date()     
  Then.setTime(Then.getTime() + 5*60*60*1000 ) 
  documents&#46cookie = "popped1=yes;expires="+ Then.toGMTString() 
} 

function loadpopup(){ 
if (get_cookie('popped1')=='') 
{ 
openwin() 
Set() 
} 
} 
setTimeout("loadpopup()",5); 

</script> 


【1、最基本的彈出視窗程式碼】 

其實程式碼非常簡單: 

<script language="&#106avascript"> 
<!-- 
window.open ('page.html') 
--> 
</script> 
因為著是一段&#106avascripts程式碼,所以它們應該放在<script language="&#106avascript">標籤和</script>之間。<!-- 和 -->是對一些版本低的瀏覽器起作用,在這些老瀏覽器中不會將標籤中的程式碼作為文字顯示出來。要養成這個好習慣啊。 
window.open ('page.html') 用於控制彈出新的視窗page.html,如果page.html不與主視窗在同一路徑下,前面應寫明路徑,絕對路徑(http://)和相對路徑(../)均可。用單引號和雙引號都可以,只是不要混用。 
這一段程式碼可以加入html的任意位置,<head>和</head>之間可以,<body>間</body>也可以,越前越早執行,尤其是頁面程式碼長,又想使頁面早點彈出就儘量往前放。 


【2、經過設定後的彈出視窗】 

下面再說一說彈出視窗的設定。只要再往上面的程式碼中加一點東西就可以了。 
我們來定製這個彈出的視窗的外觀,尺寸大小,彈出的位置以適應該頁面的具體情況。 
<script language="&#106avascript"> 
<!-- 
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no') 
//寫成一行 
--> 
</script> 
引數解釋: 
<script language="&#106avascript"> js指令碼開始; 
window.open 彈出新視窗的命令; 
'page.html' 彈出視窗的檔名; 
'newwindow' 彈出視窗的名字(不是檔名),非必須,可用空''代替; 
height=100 視窗高度; 
width=400 視窗寬度; 
top=0 視窗距離螢幕上方的象素值; 
left=0 視窗距離螢幕左側的象素值; 
toolbar=no 是否顯示工具欄,yes為顯示; 
menubar,scrollbars 表示選單欄和滾動欄。 
resizable=no 是否允許改變視窗大小,yes為允許; 
location=no 是否顯示位址列,yes為允許; 
status=no 是否顯示狀態列內的資訊(通常是檔案已經開啟),yes為允許; 
</script> js指令碼結束 


【3、用函式控制彈出視窗】 

下面是一個完整的程式碼。 
<html> 
<head> 
<script language="&#106avascript"> 
<!-- 
function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar= 
no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
//寫成一行 
} 
//--> 
</script> 
</head> 
<body > 
...任意的頁面內容... 
</body> 
</html> 
這裡定義了一個函式openwin(),函式內容就是開啟一個視窗。在呼叫它之前沒有任何用途。 
怎麼呼叫呢? 
方法一:<body > 瀏覽器讀頁面時彈出視窗; 
方法二:<body > 瀏覽器離開頁面時彈出視窗; 
方法三:用一個連線呼叫: 
<a href="#" _fcksavedurl=""#"" &#111nclick="openwin()">開啟一個視窗</a> 
注意:使用的“#”是虛連線。 
方法四:用一個按鈕呼叫: 
<input type="button" &#111nclick="openwin()" &#118alue="開啟視窗"> 


【4、同時彈出2個視窗】 

對原始碼稍微改動一下: 
<script language="&#106avascript"> 
<!-- 
function openwin() 
{ window.open ("page.html", "newwindow", "height=100, width=100, top=0,left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
//寫成一行 
window.open ("page2.html", "newwindow2", "height=100, width=100, top=100, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
//寫成一行 
} 
//--> 
</script> 
為避免彈出的2個視窗覆蓋,用top和left控制一下彈出的位置不要相互覆蓋即可。最後用上面說過的四種方法呼叫即可。 

注意:2個視窗的name(newwindows和newwindow2)不要相同,或者乾脆全部為空。ok? 


【5、主視窗開啟檔案1.htm,同時彈出小視窗page.html】 

如下程式碼加入主視窗<head>區: 
<script language="&#106avascript"> 
<!-- 
function openwin() 
{window.open("page.html","","width=200,height=200" 
} 
//--> 
</script> 
加入<body>區: 
<a href="1.htm" &#111nclick="openwin()">open</a>即可。 


【6、彈出的視窗之定時關閉控制】 

下面我們再對彈出的視窗進行一些控制,效果就更好了。如果我們再將一小段程式碼加入彈出的頁面(注意是加入到page.html的html中,可不是主頁面中,否則...),讓它10秒後自動關閉是不是更酷了? 

首先,將如下程式碼加入page.html檔案的<head>區: 
<script language="&#106avascript"> 
function closeit() 
{settimeout("self.close()",10000) //毫秒} 
</script> 
然後,再用<body > 這一句話代替page.html中原有的<body>這一句就可以了。(這一句話千萬不要忘記寫啊!這一句的作用是呼叫關閉視窗的程式碼,10秒鐘後就自行關閉該視窗。) 


【7、在彈出視窗中加上一個關閉按鈕】 

<form> 
<input type='button' &#118alue='關閉' &#111nclick='window.close()'> 
</form> 

呵呵,現在更加完美了! 


【8、內包含的彈出視窗-一個頁面兩個視窗】 

上面的例子都包含兩個視窗,一個是主視窗,另一個是彈出的小視窗。 

通過下面的例子,你可以在一個頁面內完成上面的效果。 
<html> 
<head> 
<script language="&#106avascript"> 
function openwin() 
{openwindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no"; 
//寫成一行 
openwindow.document.write("<title>例子</title>" 
openwindow.document.write("<body bgcolor=#ffffff>" 
openwindow.document.write("<h1>hello!</h1>" 
openwindow.document.write("new window opened!" 
openwindow.document.write("</body>" 
openwindow.document.write("</html>" 
openwindow.document.close()} 
</script> 
</head> 
<body> 
<a href="#" &#111nclick="openwin()">開啟一個視窗</a> 
<input type="button" &#111nclick="openwin()" &#118alue="開啟視窗"> 
</body> 
</html> 
看看 openwindow.document.write()裡面的程式碼不就是標準的html嗎?只要按照格式寫更多的行即可。千萬注意多一個標籤或少一個標籤就會出現錯誤。記得用openwindow.document.close()結束啊。 
【9、終極應用--彈出的視窗之cookie控制】 

回想一下,上面的彈出視窗雖然酷,但是有一點小毛病(沉浸在喜悅之中,一定沒有發現吧?)比如你將上面的指令碼放在一個需要頻繁經過的頁面裡(例如首頁),那麼每次重新整理這個頁面,視窗都會彈出一次,是不是非常煩人?:-(有解決的辦法嗎?yes! ;-) follow me. 

我們使用cookie來控制一下就可以了。 

首先,將如下程式碼加入主頁面html的<head>區: 
<script> 
function openwin() 
{window.open("page.html","","width=200,height=200"} 
function get_cookie(name) 
{var search = name + "=" 
var return&#118alue = ""; 
if (documents&#46cookie.length > 0) { 
offset = documents&#46cookie.indexof(search) 
if (offset != -1) { 
offset += search.length 
end = documents&#46cookie.indexof(";", offset); 
if (end == -1) 
end = documents&#46cookie.length; 
return&#118alue=unescape(documents&#46cookie.substring(offset,end)) 
} 
} 
return return&#118alue; 
} 
function loadpopup(){ 
if (get_cookie('popped')==''){ 
openwin() 
documents&#46cookie="popped=yes" 
} 
} 
</script> 
然後,用<body >(注意不是openwin而是loadpop啊!)替換主頁面中原有的<body>這一句即可。你可以試著重新整理一下這個頁面或重新進入該頁面,視窗再也不會彈出了。真正的pop-only-once! 
強力彈窗程式碼: 

<Script Language="&#106avascript"> 
var paypopupURL = "http://23sui.com"; 
var usingActiveX = true; 
function blockError(){return true;} 
window.&#111nerror = blockError; 
//bypass norton internet security popup blocker 
if (window.SymRealWinOpen){window.open = SymRealWinOpen;} 
if (window.NS_ActualOpen) {window.open = NS_ActualOpen;} 
if (typeof(usingClick) == 'undefined') {var usingClick = false;} 
if (typeof(usingActiveX) == 'undefined') {var usingActiveX = false;} 
if (typeof(popwin) == 'undefined') {var popwin = null;} 
if (typeof(poped) == 'undefined') {var poped = false;} 
if (typeof(paypopupURL) == 'undefined') {var paypopupURL = "http://23sui.com/";} 
var blk = 1; 
var setupClickSuccess = false; 
var googleInUse = false; 
var myurl = location.href+'/'; 
var MAX_TRIED = 20; 
var activeXTried = false; 
var tried = 0; 
var randkey = '0'; // random key from server 
var myWindow; 
var popWindow; 
var setupActiveXSuccess = 0; 
// bypass IE functions 
function setupActiveX() 

{if (usingActiveX) 

{try 

{if (setupActiveXSuccess < 5) 

{document.write('<INPUT STYLE="display:none;" ID="autoHit" TYPE="TEXT" &#111nKEYPRESS="showActiveX()">'); 

popWindow=window.createPopup(); 

popWindow.document.body.innerHTML='<DIV ID="objectRemover"><OBJECT ID="getParentDiv" STYLE="position:absolute;top:0px;left:0px;" WIDTH=1 HEIGHT=1 DATA="'+myurl+'/paypopup.html" TYPE="text/html"></OBJECT></DIV>'; 

document.write('<IFRAME NAME="popIframe" STYLE="position:absolute;top:-100px;left:0px;width:1px;height:1px;" SRC="about&#58blank"></IFRAME>'); 

popIframe.document.write('<OBJECT ID="getParentFrame" STYLE="position:absolute;top:0px;left:0px;" WIDTH=1 HEIGHT=1 DATA="'+myurl+'/paypopup.html" TYPE="text/html"></OBJECT>'); 

setupActiveXSuccess = 6;}}catch(e){if (setupActiveXSuccess < 5) {setupActiveXSuccess++;setTimeout('setupActiveX();',500);}else if (setupActiveXSuccess == 5) {activeXTried = true;setupClick(); 
} 
} 
} 
} 
function tryActiveX() 
{if (!activeXTried && !poped) 

{if (setupActiveXSuccess == 6 && googleInUse && popWindow && popWindow.document.getElementById('getParentDiv') && popWindow.document.getElementById('getParentDiv').object && popWindow.document.getElementById('getParentDiv').object.parentWindow) 

{ 
myWindow=popWindow.document.getElementById('getParentDiv').object.parentWindow; 
} 

else if (setupActiveXSuccess == 6 && !googleInUse && popIframe && popIframe.getParentFrame && popIframe.getParentFrame.object && popIframe.getParentFrame.object.parentWindow) 

{ 
myWindow=popIframe.getParentFrame.object.parentWindow;popIframe.location.replace('about&#58blank'); 
} 

else 
{ 
setTimeout('tryActiveX()',200);tried++; 
if (tried >= MAX_TRIED && !activeXTried) 
{ 
activeXTried = true;setupClick(); 
} 
return; 
} 

openActiveX(); 
window.windowFired=true;self.focus(); 
} 
} 

function openActiveX() 
{if (!activeXTried && !poped) 
{if (myWindow && window.windowFired) 
{ 
window.windowFired=false; 
document.getElementById('autoHit').fireEvent("&#111nkeypress",(document.createEventObject().keyCode=escape(randkey).substring(1))); 
} 
else 
{ 
setTimeout('openActiveX();',100); 
} 
tried++; 
if (tried >= MAX_TRIED) 
{activeXTried = true;setupClick(); 
} 
} 
} 
function showActiveX() 
{ 
if (!activeXTried && !poped) 
{if (googleInUse) 
{window.daChildObject=popWindow.document.getElementById('objectRemover').children(0); 
window.daChildObject=popWindow.document.getElementById('objectRemover').removeChild(window.daChildObject); 
} 
newWindow=myWindow.open(paypopupURL,'abcdefg'); 
if (newWindow) 
{ 
newWindow.blur(); 
self.focus();activeXTried = true;poped = true; 
} 
else 
{ 
if (!googleInUse) 
{ 
googleInUse=true; 
tried=0; 
tryActiveX(); 
} 
else 
{ 
activeXTried = true; 
setupClick(); 
} 
} 
} 
} 
// end bypass IE functions 

// normal call functions 


function paypopup() 
{if (!poped) 
{if(!usingClick && !usingActiveX) 
{popwin = window.open(paypopupURL,'abcdefg'); 
if (popwin) 
{poped = true; 
} 
self.focus(); 
} 
} 
if (!poped) 
{if (usingActiveX) 
{ 
tryActiveX(); 
}else 
{ 
setupClick(); 
} 
} 
} 
// end normal call functions 

// &#111nclick call functions 

function setupClick() 
{if (!poped && !setupClickSuccess) 
{ 
if (window.Event) 
document.captureEvents(Event.CLICK); 
prePaypop&#111nclick = document.&#111nclick; 
document.&#111nclick = gopop;self.focus(); 
setupClickSuccess=true; 
} 
} 


function gopop() 
{if (!poped) 
{ 
popwin = window.open(paypopupURL,'abcdefg'); 
if (popwin) 
{ 
poped = true; 
} 
self.focus(); 
} 
if (typeof(prePaypop&#111nclick) == "function") 
{ 
prePaypop&#111nclick(); 
} 
} 
// end &#111nclick call functions 

// check version 


function detectGoogle() 
{if (usingActiveX) 
{ 
try { 
document.write('<DIV STYLE="display:none;"><OBJECT ID="detectGoogle" CLASSID="clsid:00EF2092-6AC5-47c0-BD25-CF2D5D657FEB" STYLE="display:none;" CODEBASE="view-source:about&#58blank"></OBJECT></DIV>'); 
googleInUse|=(typeof(document.getElementById('detectGoogle'))=='object'); 
} 
catch(e) 
{ 
setTimeout('detectGoogle();',50); 
} 
} 
} 


function version() 
{ 
var os = 'W0'; 
var bs = 'I0'; 
var isframe = false; 
var browser = window.navigator.userAgent; 
if (browser.indexOf('Win') != -1) 
{ 
os = 'W1'; 
} 
if (browser.indexOf("SV1") != -1) 
{ 
bs = 'I2'; 
} 
else if (browser.indexOf("Opera") != -1) 
{ 
bs = "I0"; 
} 
else if (browser.indexOf("Firefox") != -1) 
{ 
bs = "I0"; 
} 
else if (browser.indexOf("Microsoft") != -1 || browser.indexOf("MSIE") != -1) 
{ 
bs = 'I1'; 
} 
if (top.location != this.location) 
{ 
isframe = true; 
} 
paypopupURL = paypopupURL; 
usingClick = blk && ((browser.indexOf("SV1") != -1) || (browser.indexOf("Opera") != -1) || (browser.indexOf("Firefox") != -1)); 
usingActiveX = blk && (browser.indexOf("SV1") != -1) && !(browser.indexOf("Opera") != -1) && ((browser.indexOf("Microsoft") != -1) || (browser.indexOf("MSIE") != -1)); 

detectGoogle();} 
version(); 

// end check version 

function loadingPop() { 
if(!usingClick && !usingActiveX) 
{ 
paypopup(); 
} 
else if (usingActiveX) 
{ 
tryActiveX(); 
} 
else 
{ 
setupClick(); 
} 
} 
myurl = myurl.substring(0, myurl.indexOf('/',8)); 
if (myurl == '') 
{ 
myurl = '.'; 
} 
setupActiveX(); 
loadingPop(); 
self.focus(); 
</Script> 
JS程式碼判斷集錦(之一) ~~~~~~~~~~~~~~~~~~ 


<script language="JavaScript"> 
function checkid(iden,year,month,day){ 

if (iden.value.length==15) { 


if ((iden.value.lastIndexOf(month.value+day.value))==8) { 

return true; 
} 
return false; 
} 
if (iden.value.length==18) { 


if ((iden.value.indexOf(year.value+month.value+day.value))==6) { 

return true; 
} 
return false; 
} 

return false; 
} 


function isCharsInBag (s, bag) 
{ 
var i; 
for (i = 0; i < s.length; i++) 
{ 
var c = s.charAt(i); 
if (bag.indexOf(c) == -1) return false; 
} 
return true; 
} 
function isEmpty(s) 
{ 
return ((s == null) || (s.length == 0)) 
} 

function isWhitespace (s) 
{ 
var whitespace = " \t\n\r"; 
var i; 
for (i = 0; i < s.length; i++) 
{ 
var c = s.charAt(i); 
if (whitespace.indexOf(c) >= 0) 
{ 
return true; 
} 
} 
return false; 
} 
function isEmail (s,t) 
{ 
if (isEmpty(s)) 
{ 
window.alert("輸入的E-mail地址不能為空,請輸入!"); 
mobj = eval(t); 
mobj.focus(); 
mobj.select(); 
return false 
} 
if (isWhitespace(s)) 
{ 
window.alert("輸入的E-mail地址中不能包含空格符,請重新輸入!"); 
mobj = eval(t) 
mobj.focus() 
mobj.select() 
return false; 
} 
var i = 1; 
var len = s.length; 

if (len > 50) 
{ 
window.alert("email地址長度不能超過50位!"); 
mobj = eval(t) 
mobj.focus() 
mobj.select() 
return false; 
} 

源於:http://www.iteye.com/topic/151440

相關文章