[轉載]JS大總結

 
[轉載]JS大總結

javascript事件查詢綜合
click() 對象.click() 使對象被點擊。
closed 對象.closed 對象窗口是否已關閉true/false
clearTimeout(對象) 清除已設置的setTimeout對象
clearInterval(對象) 清除已設置的setInterval對象
confirm("提示信息") 彈出確認框,確定返回true取消返回false
cursor:樣式 更改鼠標樣式 hand crosshair text wait help default auto e/s/w/n-resize

event.clientX 返回最後一次點擊鼠標X座標值;
event.clientY 返回最後一次點擊鼠標Y座標值;
event.offsetX 返回當前鼠標懸停X座標值
event.offsetY 返回當前鼠標懸停Y座標值

document.write(document.lastModified) 網頁最後一次更新時間
document.ondblclick=x 當雙擊鼠標產生事件
document.onmousedown=x 單擊鼠標鍵產生事件

document.body.scrollTop; 返回和設置當前豎向滾動條的座標值,須與函數配合,
document.body.scrollLeft; 返回和設置當前橫向滾動務的座標值,須與函數配合,
document.title document.title="message"; 當前窗口的標題欄文字
document.bgcolor document.bgcolor="顏色值"; 改變窗口背景顏色
document.Fgcolor document.Fgcolor="顏色值"; 改變正文顏色
document.linkcolor document.linkcolor="顏色值"; 改變超聯接顏色
document.alinkcolor document.alinkcolor="顏色值"; 改變正點擊聯接的顏色
document.VlinkColor document.VlinkColor="顏色值"; 改變已訪問聯接的顏色
document.forms.length 返回當前頁form表單數
document.anchors.length 返回當前頁錨的數量
document.links.length 返回當前頁聯接的數量
document.onmousedown=x 單擊鼠標觸發事件
document.ondblclick=x 雙擊鼠標觸發事件
defaultStatus window.status=defaultStatus; 將狀態欄設置默認顯示

function function xx(){...} 定義函數
isNumeric 判斷是否是數字
innerHTML xx=對象.innerHTML 輸入某對象標籤中的html源代碼
innerText divid.innerText=xx 將以div定位以id命名的對象值設爲XX

location.reload(); 使本頁刷新,target可等於一個刷新的網頁

Math.random() 隨機涵數,只能是0到1之間的數,如果要得到其它數,可以爲*10,再取整
Math.floor(number) 將對象number轉爲整數,舍取所有小數
Math.min(1,2) 返回1,2哪個小
Math.max(1,2) 返回1,2哪個大

navigator.appName 返回當前瀏覽器名稱
navigator.appVersion 返回當前瀏覽器版本號
navigator.appCodeName 返回當前瀏覽器代碼名字
navigator.userAgent 返回當前瀏覽器用戶代標誌

onsubmit onsubmit="return(xx())" 使用函數返回值
opener opener.document.對象 控制原打開窗體對象

prompt xx=window.prompt("提示信息","預定值"); 輸入語句
parent parent.框架名.對象 控制框架頁面

return return false 返回值
random 隨機參數(0至1之間)
reset() form.reset(); 使form表單內的數據重置

split("") string.split("") 將string對象字符以逗號隔開
submit() form對象.submit() 使form對象提交數據

String對象的 charAt(x)對象 反回指定對象的第多少位的字母
lastIndexOf("string") 從右到左詢找指定字符,沒有返回-1
indexOf("string") 從左到右詢找指定字符,沒有返回-1
LowerCase() 將對象全部轉爲小寫
UpperCase() 將對象全部轉爲大寫
substring(0,5) string.substring(x,x) 返回對象中從0到5的字符
setTimeout("function",time) 設置一個超時對象
setInterval("function",time) 設置一個超時對象

toLocaleString() x.toLocaleString() 從x時間對象中獲取時間,以字符串型式存在
typeof(變量名) 檢查變量的類型,值有:String,Boolean,Object,Function,Underfined

window.event.button==1/2/3 鼠標鍵左鍵等於1右鍵等於2兩個鍵一起按爲3
window.screen.availWidth 返回當前屏幕寬度(空白空間)
window.screen.availHeight 返回當前屏幕高度(空白空間)
window.screen.width 返回當前屏幕寬度(分辨率值)
window.screen.height 返回當前屏幕高度(分辨率值)
window.document.body.offsetHeight; 返回當前網頁高度
window.document.body.offsetWidth; 返回當前網頁寬度
window.resizeTo(0,0) 將窗口設置寬高
window.moveTo(0,0) 將窗口移到某位置
window.focus() 使當前窗口獲得焦點
window.scroll(x,y) 窗口滾動條座標,y控制上下移動,須與函數配合
window.open() window.open("地址","名稱","屬性")
屬性:toolbar(工具欄),location(地址欄),directions,status(狀態欄),
menubar(菜單欄),scrollbar(滾動條),resizable(改變大小), width(寬),height(高),fullscreen(全 屏),scrollbars(全屏時無滾動條無參 數,channelmode(寬屏),left(打開窗口x座標),top(打開窗口y座標)
window.location = 'view-source:' + window.location.href 應用事件查看網頁源代碼;


a=new Date(); //創建a爲一個新的時期對象
y=a.getYear(); //y的值爲從對象a中獲取年份值 兩位數年份
y1=a.getFullYear(); //獲取全年份數 四位數年份
m=a.getMonth(); //獲取月份值
d=a.getDate(); //獲取日期值
d1=a.getDay(); //獲取當前星期值
h=a.getHours(); //獲取當前小時數
m1=a.getMinutes(); //獲取當前分鐘數
s=a.getSeconds(); //獲取當前秒鐘數


對象.style.fontSize="文字大小";
單位:mm/cm/in英寸/pc帕/pt點/px象素/em文字高
1in=1.25cm
1pc=12pt
1pt=1.2px(800*600分辯率下)

文本字體屬性:
fontSize大小
family字體
color顏色
fontStyle風格,取值爲normal一般,italic斜體,oblique斜體且加粗
fontWeight加粗,取值爲100到900不等,900最粗,light,normal,bold
letterSpacing間距,更改文字間距離,取值爲,1pt,10px,1cm
textDecoration:文字修飾;取值,none不修飾,underline下劃線,overline上劃線
background:文字背景顏色,
backgroundImage:背景圖片,取值爲圖片的插入路徑


點擊網頁正文函數調用觸發器:

1.onClick 當對象被點擊
2.onLoad 當網頁打開,只能書寫在body中
3.onUnload 當網頁關閉或離開時,只能書寫在body中
4.onmouseover 當鼠標懸於其上時
5.onmouseout 當鼠標離開對象時
6.onmouseup 當鼠標鬆開
7.onmousedown 當鼠標按下鍵
8.onFocus 當對象獲取焦點時
9.onSelect 當對象的文本被選中時
10.onChange 當對象的內容被改變
11.onBlur 當對象失去焦點
onsubmit=return(ss())表單調用時返回的值

直線 border-bottom:1x solid black
虛線 border-bottom:1x dotted black
點劃線 border-bottom:2x dashed black
雙線 border-bottom:5x double black
槽狀 border-bottom:1x groove black
脊狀 border-bottom:1x ridge black


1.邊緣高光glow(color=顏色,strength=亮光大小)<br/>
2.水平翻轉fliph() 使對象水平翻轉180度<br/>
3.垂直翻轉flipv() 使對象垂直翻轉180度<br/>
4.對象模糊blur(add=true/false direction=方向 strength=強度)
add指定是否按印象畫派進行模糊direction模糊方向strength模糊強度
5.對象透明alpha(opaction=0-100,finishopacity=0-100,style=0/1/2/3)
opaction對象整體不透明值finishopacity當對象利用了漸透明時該項指定結束透明位置的不透明值style指定透明方式0爲整體透明,1爲線型透明,2爲圓型透明,3爲矩形透明
6.去除顏色chroma(color=顏色值)使對象中顏色與指定顏色相同區域透明
7.建立陰影dropshadow(color=陰影顏色,offx=水平向左偏離像素,offy=水平向下偏離像素)
8.去色gray()使對象呈灰度顯示
9.負片效果invert()使對象呈底片效果
10.高光light()使對象呈黑色顯示
11.遮蓋mask(color=顏色)使整個對象以指定顏色進行蒙板一次

opacity 表透明度水平.0~100,0表全透明,100表完全不透明
finishopacity表想要設置的漸變透明效果.0~100.
style 表透明區的形狀.0表統一形狀.1表線形.2表放射形.3表長方形.
startx.starty表漸變透明效果的開始時X和Y座標.
finishx,finishy漸變透明效果結束時x,y 的座標.
add有來確定是否在模糊效果中使有原有目標.值爲0,1.0表"否",1表"是".
direction設置模糊的方向.0度表垂直向上,45度爲一個單位.默認值是向左270度.left,right,down,up.
strength 只能用整數來確定.代表有多少個像素的寬度將受到模糊影響.默認是5個.
color要透明的顏色.
offx,offy分別是x,y 方向陰影的偏移量.
positive指投影方式.0表透明像素生成陰影.1表只給出不透明像素生成陰影..

AddAmbient:加入包圍的光源.
AddCone:加入錐形光源.
AddPoint加入點光源
Changcolor:改變光的顏色.
Changstrength:改變光源的強度.
Clear:清除所有的光源.
MoveLight:移動光源.

freq是波紋的頻率,在指定在對象上一區需要產生多少個完事的波紋.
lightstrength可對於波紋增強光影的效果.顯著0~100正整數,正弦波開始位置是0~360度.0表從0度開始,25表從90度開始.
strength表振幅大小.


hand style="cursor:hand"
crosshair style="cursor:crosshair"
text style="cursor:text"
wait style="cursor:wait"
default style="cursor:default"
help style="cursor:help"
e-resize style="cursor:e-resize"
ne-resize style="cursor:ne-resize"
n-resize style="cursor:n-resize"
nw-resize style="cursor:nw-resize"
w-resize style="cursor:w-resize"
s-resize style="cursor:s-resize"
sw-resize style="cursor:sw-resize "
se-resize style="cursor:se-resize"
auto style="cursor:auto"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 數字輸入控制,給數字加上千分符 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<style>
.inputRight {
text-align: right;
border: 1px #666666 dashed;
font-size: 9pt;
color: #993366;
height: 18px;
ime-mode : disabled;
}
</style>
<SCRIPT LANGUAGE="JavaScript">
/*
這些功能建議通過HTC來實現
*/
////////////
//數字輸入控制
function FormatInput(dotlen)
{
var myEle=event.srcElement;
var myValue=String.fromCharCode(event.keyCode);
if (myEle.readOnly)
{
return;
}
switch(dotlen)
{
//原正則表達式(可以輸入負數):/^[\-]?\d*\.?\d{0,0}$/
case 0:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,0}$/, myValue); break;}
case 1:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,1}$/, myValue); break;}
case 2:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,2}$/, myValue); break;}
case 3:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,3}$/, myValue); break;}
case 4:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,4}$/, myValue); break;}
case 5:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,5}$/, myValue); break;}
case 6:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,6}$/, myValue); break;}
case 7:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,7}$/, myValue); break;}
case 8:{event.returnValue = regInput(myEle, /^\d*\.?\d{0,8}$/, myValue); break;}
default :{event.returnValue = regInput(myEle, /^\d*\.?\d{0,0}$/, myValue); break;}
}
}
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)
}
//給數字加上千分符 by yuanzy
function splitNumber(eValue)
{
var intPart = "";
var decPart = "";
if (eValue.indexOf(",")>=0)
{
eValue=eValue.replace(/,/g,"");
}
if (eValue.indexOf(".")>=0)
{
intPart=eValue.split(".")[0];
decPart=eValue.split(".")[1];
}
else
{
intPart = eValue;
}
var num = intPart+"";
var re=/(-?\d+)(\d{3})/
while(re.test(num)){
num=num.replace(re,"$1,$2")
}
if (eValue.indexOf(".")>=0)
{
eValue=num + "." + decPart;
}
else
{
eValue=num ;
}
return eValue;
}

function oFocus()
{
if (event.srcElement.readOnly) return;
event.srcElement.value=event.srcElement.value.replace(/,/g,"");
}

function oBlur()
{
if (event.srcElement.value=="-")
{
event.srcElement.value="";
}
event.srcElement.value = splitNumber(event.srcElement.value);
}

</SCRIPT>
</HEAD>

<BODY>

<input class="inputRight" type='text' onfocus="oFocus();" onblur="oBlur();" onKeypress="FormatInput(2);" >
</BODY>
</HTML>


IE功能彙總
<OBJECT id=WebBrowser height=0 width=0
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2></OBJECT>
<INPUT onclick=document.all.WebBrowser.ExecWB(1,1) type=button value=打開 name=Button1>
<INPUT onclick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存爲 name=Button2>
<INPUT onclick=document.all.WebBrowser.ExecWB(10,1) type=button value=屬性 name=Button3>
<INPUT onclick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印 name=Button>
<INPUT onclick=document.all.WebBrowser.ExecWB(8,1) type=button value=頁面設置 name=Button4>
<INPUT onclick=window.location.reload() type=button value=刷新 name=refresh>
<INPUT onclick="window.external.ImportExportFavorites(true,'');" type=button value=導入收藏夾 name=Button5>
<INPUT onclick="window.external.ImportExportFavorites(false,'');" type=button value=導出收藏夾 name=Button32>
<INPUT onclick="window.external.AddFavorite(location.href, document.title)" type=button value=加入收藏夾 name=Button22>
<INPUT onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)" type=button value=整理收藏夾 name=Submit2>
<INPUT onclick='window.location="view-source:" + window.location.href' type=button value=查看源文件 name=Button7>
<INPUT onclick="window.external.ShowBrowserUI('LanguageDialog', null)" type=button value=語言設置 name=Button6>
<INPUT onclick="document.execCommand('Cut')" type=button value=剪切>
<INPUT onclick="document.execCommand('Copy')" type=button value=拷貝>
<INPUT onclick="document.execCommand('Paste')" type=button value=粘貼>
<INPUT onclick="document.execCommand('Undo')" type=button value=撤消>
<INPUT onclick="document.execCommand('Delete')" type=button value=刪除>
<INPUT onclick="document.execCommand('Bold')" type=button value=黑體>
<INPUT onclick="document.execCommand('Italic')" type=button value=斜體>
<INPUT onclick="document.execCommand('Underline')" type=button value=下劃線>
<INPUT onclick="document.execCommand('stop')" type=button value=停止>
<INPUT onclick="document.execCommand('SaveAs')" type=button value=保存>
<INPUT onclick="document.execCommand('Saveas',false,'c:\\test.htm')" type=button value=另存爲>
<INPUT onclick="document.execCommand('FontName',false,fn)" type=button value=字體>
<INPUT onclick="document.execCommand('FontSize',false,fs)" type=button value=字體大小>
<INPUT onclick="document.execCommand('refresh',false,0)" type=button value=刷新>
<INPUT onclick=window.location.reload() type=button value=刷新>
<INPUT onclick=history.go(1) type=button value=前進>
<INPUT onclick=history.go(-1) type=button value=後退>
<INPUT onclick=history.forward() type=button value=前進>
<INPUT onclick=history.back() type=button value=後退>
<INPUT onclick='window.external.ImportExportFavorites(true,"http://localhost");' type=button value=導入收藏夾>
<INPUT onclick='window.external.ImportExportFavorites(false,"http://localhost");' type=button value=導出收藏夾>
<INPUT onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)" type=button value=整理收藏夾>
<INPUT onclick="window.location = 'view-source:'+ window.location.href" type=button value=查看源文件>
<INPUT onclick="window.external.ShowBrowserUI('LanguageDialog', null)" type=button value=語言設置>
<INPUT onclick="window.external.AddFavorite('http://www.cnblogs.com/hbzxf/', 阿好空間)" type=button value=加入收藏夾>
<INPUT onclick="window.external.addChannel('http://www.cnblogs.com/hbzxf/')" type=button value=加入到頻道>
<INPUT onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.cnblogs.com/hbzxf/')" type=button value=設成主頁>

窗口打開自動最大化代碼
<!-- 窗口打開後最大化 -->
<OBJECT id="max" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><PARAM name="Command" value="Maximize"></OBJECT>
<script>
if(window.screenLeft!=0)
max.Click();
</script>
<!-- 窗口打開後最大化結束 -->

利用腳本封裝,方便實現網站懸浮廣告

下面是JS腳本(floatdiv.js)
/*======================================================================
浮動塊支持腳本
DESIGN BY : 彭國輝
DATE: 2004-02-26
SITE: http://kacarton.yeah.net/
BLOG: http://blog.csdn.net/nhconch
EMAIL: [email protected]

搜索更多相關主題的帖子: javascript  false  help  
2006-10-16 16:41:03
<!--
-->
islet
Rank: 12Rank: 12Rank: 12
等 級:貴賓
威 望:89
帖 子:6552
專家分:0
注 冊:2005-1-28
  得分:0 

文章爲作者原創,轉載前請先與本人聯繫,轉載請註明文章出處、保留作者信息,謝謝支持!
======================================================================*/

var alLeft = 0, alCenter = 1, alRight = 2; //水平對齊方式
var alTop = 0, alMiddle = 1, alBottom = 2; //垂直對齊方式

var f = new Array();
var cnt = 0;

function floatDiv(objId, align, vAlign, x, y, smooth)
{
/*浮動塊對象
數據結構:
objId: 對象ID
align: 水平對齊方式,枚舉型
vAlign:垂直對齊方式,枚舉型內容
x, y: xy座標,整型
smooth:平滑移動,布爾型
*/
this.objId = objId;
this.align = align;
this.vAlign = vAlign;
this.x = x;
this.y = y;
this.smooth = smooth;
}

function addDiv(objId, align, vAlign, x, y, smooth)
{ //添加浮動塊
f[cnt++] = new floatDiv(objId, align, vAlign, x, y, smooth);
}

function floatMove()
{ //重新定位各塊位置
var objX, objY;
if (document.all)
{
var d = document.body;
//status = "scrollLeft:"+f[0].objId.style.pixelTop+"| offsetWidth:"+d.offsetWidth;
for (var i=0; i<f.length; i++)
{
switch (f[i].align)
{
case alLeft : objX = d.scrollLeft + f[i].x; break;
case alCenter: objX = d.scrollLeft + Math.ceil((d.offsetWidth - f[i].objId.offsetWidth)/2) + f[i].x; break;
case alRight : objX = d.scrollLeft + d.offsetWidth - f[i].x - f[i].objId.offsetWidth - 20; break; //減滾動條20
}
switch (f[i].vAlign)
{
case alTop : objY = d.scrollTop + f[i].y; break;
case alMiddle: objY = d.scrollTop + Math.ceil((d.offsetHeight - f[i].objId.offsetHeight)/2) + f[i].y; break;
case alBottom: objY = d.scrollTop + d.offsetHeight - f[i].y - f[i].objId.offsetHeight; break;
}
if (f[i].smooth) smoothMove(f[i].objId, objX, objY);
else
{
f[i].objId.style.pixelLeft = objX;
f[i].objId.style.pixelTop = objY;
}
}
}

if (document.layers)
{
for (var i=0; i<f.length; i++)
{
var objId = f[i].objId;
switch (f[i].align)
{
case alLeft : objX = pageXOffset + f[i].x; break;
case alCenter: objX = pageXOffset + Math.ceil((window.innerWidth-objId.width)/2) + f[i].x; break;
case alRight : objX = pageXOffset + window.innerWidth - f[i].x - document.objId.width; break;
}
switch (f[i].vAlign)
{
case alTop : objY = pageYOffset + f[i].y; break;
case alMiddle: objY = pageYOffset + Math.ceil(window.innerHeight/2) + f[i].y; break;
case alBottom: objY = pageYOffset + window.innerHeight - f[i].y - document.objId.height; break;
}
if (t[i].smooth) smoothMove(f[i].objId, objX, objY);
else
{
document.objId.left = objX;
document.objId.top = objY;
}
}
}

setTimeout("floatMove();",50);
}

function smoothMove(obj, x, y)
{
var percent;
if (document.all)
{
percent = .1 * (x - obj.style.pixelLeft);
if (percent > 0) percent = Math.ceil(percent); else percent = Math.floor(percent);
obj.style.pixelLeft += percent;

percent = .1 * (y - obj.style.pixelTop);
if (percent > 0) percent = Math.ceil(percent); else percent = Math.floor(percent);
obj.style.pixelTop += percent;
}
if (document.layers)
{
percent = .1 * (x - document.objId.left);
if (percent > 0) percent = Math.ceil(percent); else percent = Math.floor(percent);
document.objId.left += percent;

percent = .1 * (y - document.objId.top);
if (percent > 0) percent = Math.ceil(percent); else percent = Math.floor(percent);
document.objId.top += percent;
}
}


setTimeout("floatMove();",50);


調用例子:

<script language="javascript" src="lib/floatdiv.js"></script>
<script language="javascript">
if (navigator.appName == "Netscape")
{
document.write("<layer id=ad_hr top=300 width=100 height=120><a href=http://www.fpc.org.cn/hr/040522.htm target=_blank><img src='ad/hr40522.gif' width=120 height=180 border=0></a></layer>");
}
else
{
document.write("<div id=ad_hr style='position: absolute;width:120;top:300;left:5;visibility: visible;z-index: 1'><a href=http://www.fpc.org.cn/hr/040522.htm target=_blank><img src='ad/hr40522.gif' width=120 height=180 border=0></a></div>");
}
addDiv(ad_hr, alRight, alTop, 0, 30, true);
</script>


[原創]自己定義的簡單方法驗證表單數據
方法很簡單,先是定義好要驗證的數組比如:
check_array[0]= new Array(title,留言主題不能爲空!);
然後判斷,錯誤的就提示定義的內容,代碼如下:

<script language="javascript">
//表單驗證程序;

//定義獲取表單元素;
function $()
{
var elements = new Array();

for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);

if (arguments.length == 1)
return element;

elements.push(element);
}

return elements;
}


function checkform()
{
//定義要驗證的表單數組;
var check_array=new Array();
check_array[0]= new Array("title","留言主題不能爲空!");
check_array[1]= new Array("name","姓名不能爲空!");
check_array[2]= new Array("email","電子郵件不能爲空!");
check_array[3]= new Array("phone","電話不能爲空!");
check_array[4]= new Array("note","留言內容不能爲空!");

//驗證定義表單是否爲空;
for(var i=0;i<check_array.length;i++)
{
if($(check_array[i][0]).value=="")
{
alert(check_array[i][1]);
$(check_array[i][0]).focus();
return false;
}
}

}
</script>

幾個表單驗證的
function checkMail(obj,error)
{
if (obj == null)
return "NULL";
if (obj.value == "")
return "EMPTY";
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (filter.test(obj.value))
return true;
else
alert(error);
return false;
}

function verifyDottedIP(cntrl,errmsg1,errmsg2,flag)
{
ip_str = cntrl.value;


if (ip_str == "") {
if (flag == 1){

alert(errmsg1);
cntrl.select();
return false;
}
return true;
}else{
varval = 0;
vari = index = 0;

while (index < ip_str.lastIndexOf(".")){
k = index;
index = ip_str.indexOf(".", index);
val = toNumber(ip_str, k, index);

if (val < 0 || val > 255)
break;
i++; index++;
}

if (i == 3){
if (index == ip_str.length){
i = 2;
} else {
val = toNumber(ip_str,index, ip_str.length);
if (val < 0 || val > 255) i = 2;
}
}

if (i != 3) {
alert(errmsg2);
cntrl.select();
return false;
}
}
return true;
}


function verifyport(cntrl,errmsg1,errmsg2,flag)
{
varval = 0;

port_str = cntrl.value;
if (port_str == "") {
if (flag == 1){

alert(errmsg1);
cntrl.select();
return false;
}}
val = toNumber(port_str, 0, port_str.length);

if (val < 0 || val > 65535)
{

alert(errmsg2);
cntrl.select();
return false;
}
else
{
return true;
}
}


function checkname(field,err_blank,err_space,err_invalid)
{
if (field.value.indexOf(" ") >=0)
{
alert(err_space);
field.focus();
field.select();
return false;
}

left_trim(field);
right_trim(field);


if (field.value =="" | field.value == null)
{

alert(err_blank);
field.focus();
field.select();
return false;
}


if (checkOtherChar(field.value, err_invalid)==false)
{
field.focus();
field.select();
return false;
}
if (isChinese(field.value)==true)
{
field.focus();
field.select();
return false;
}

return true;
}

function isChinese(inputStr){
iLength = inputStr.length
for (i = 0; i < iLength; i++)
if (inputStr.charCodeAt(i) > 255){
alert("Input error!");
return true ;
}
return false ;
}


function left_trim(field)
{
var tmp_string = field.value;
while (''+tmp_string.charAt(0) == ' ')
tmp_string = tmp_string.substring(1,tmp_string.length);

field.value = tmp_string;

}

function right_trim(field)
{
var tmp_string = field.value;

while (''+tmp_string.charAt(tmp_string.length-1) == ' ')
tmp_string = tmp_string.substring(0,tmp_string.length-1);

field.value = tmp_string;
}

function checkOtherChar(str,errmsg) {
for(var loop_index=0; loop_index<str.length; loop_index++)
{
if(str.charAt(loop_index) == '~'
||str.charAt(loop_index) == '!'
||str.charAt(loop_index) == '@'
||str.charAt(loop_index) == '#'
||str.charAt(loop_index) == '$'
||str.charAt(loop_index) == '%'
||str.charAt(loop_index) == '^'
||str.charAt(loop_index) == '&'
||str.charAt(loop_index) == '*'
||str.charAt(loop_index) == '('
||str.charAt(loop_index) == ')'
||str.charAt(loop_index) == '+'
||str.charAt(loop_index) == '{'
||str.charAt(loop_index) == '}'
||str.charAt(loop_index) == '|'
||str.charAt(loop_index) == ':'
||str.charAt(loop_index) == '"'
||str.charAt(loop_index) == '<'
||str.charAt(loop_index) == '>'
||str.charAt(loop_index) == '?'
||str.charAt(loop_index) == '`'
||str.charAt(loop_index) == '='
||str.charAt(loop_index) == '['
||str.charAt(loop_index) == ']'
||str.charAt(loop_index) == '\\'
||str.charAt(loop_index) == ';'
||str.charAt(loop_index) == '\''
||str.charAt(loop_index) == ','
||str.charAt(loop_index) == '.'
||str.charAt(loop_index) == '/')
{

alert(errmsg);
return false;
}
}
return true;
}

function check_pwd_eq(element1,element2,errmsg)
{
if (element1.value == element2.value)
{
return true;
}
else
{
alert(errmsg);
element1.select();
return false;
}
}

function check_pwd(field,errmsg1)
{

if (field.value == "") {
alert(errmsg1);
field.focus();
return false;
}


return true;
}

function verifynum(cntrl,errmsg3,flag,errmsg1,errmsg2,from,to)
{
varval = 0;
num_str = cntrl.value;
if (num_str.indexOf(" ") >=0)
{
alert(errmsg3);
cntrl.focus();
cntrl.select();
return false;
}

if (flag == 1) {
if (num_str == "") {
alert(errmsg1);
return false;
}}
val = toNumber(num_str, 0, num_str.length);

if ((val < from || val > to) && (num_str != ""))
{
alert(errmsg2);
return false;
}
else
{
return true;
}
}

判斷瀏覽器類型
<SCRIPT language=JavaScript>
if(navigator.appVersion.indexOf("MSIE 6.") != -1 ){
window.location = "111.htm" ;
}

</SCRIPT>

按鈕背景圖片替換
<input type=button style="background-image:url(a.gif)" value=test onmouseover="this.style.backgroundImage='url(b.gif)'" onmouseout='this.style.backgroundImage='url(a.gif)'' ID="Button1" NAME="Button1"/>

document.getElementById(id) 的最簡化調用
/*--------------------------------------------------------------------------*/

/**
* 這個函數就 Ruby 了。我覺得它的作用主要有兩個
* 1. 大概是 document.getElementById(id) 的最簡化調用。
* 比如:$(aaa) 將返回 aaa 對象
* 2. 得到對象數組
* 比如: $(aaa,bbb) 返回一個包括id爲aaa和bbb兩個
input控件對象的數組。
*/
function $() {
var elements = new Array();

for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);

if (arguments.length == 1)
return element;

elements.push(element);
}

return elements;
}


<script language="Javascript">
//屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F5刷新、退格鍵
//屏蔽F1幫助
function window.onhelp()
{
return false
}
function KeyDown()
{
//alert(event.keyCode);
//屏蔽 Alt+ 方向鍵 ← 屏蔽 Alt+ 方向鍵 →
if ((window.event.altKey)&&((window.event.keyCode==37)||(window.event.keyCode==39)))
{
//alert("不准你使用ALT+方向鍵前進或後退網頁!");
event.returnValue=false;
}
//屏蔽退格刪除鍵,屏蔽 F5 刷新鍵,Ctrl + R
if ((event.keyCode==116)||(event.ctrlKey && event.keyCode==82))
{
event.keyCode=0;
event.returnValue=false;
}

//屏蔽 Ctrl+n
if ((event.ctrlKey)&&(event.keyCode==78))
{
event.returnValue=false;
}

//屏蔽 shift+F10
if ((event.shiftKey)&&(event.keyCode==121))
{
event.returnValue=false;
}

//屏蔽 shift 加鼠標左鍵新開一網頁
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
{
window.event.returnValue = false;
}

//屏蔽Alt+F4
if ((window.event.altKey)&&(window.event.keyCode==115))
{
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;
}

//屏蔽Ctrl+A
if((event.ctrlKey)&&(event.keyCode==65))
{
return false;
}
return false;
}
document.onkeydown=KeyDown;
</script>

2006-10-16 16:41:37
<!--
-->
islet
Rank: 12Rank: 12Rank: 12
等 級:貴賓
威 望:89
帖 子:6552
專家分:0
注 冊:2005-1-28
  得分:0 

根據身份證號碼取得生日與性別,並判斷18位身份證的正確與錯誤:
function showBirthday(val){
var birthdayValue;
if(15==val.length){//15位身份證號碼
birthdayValue = val.charAt(6)+val.charAt(7);
if(parseInt(birthdayValue)<10){
birthdayValue = '20'+birthdayValue;
}else{
birthdayValue = '19'+birthdayValue;
}
birthdayValue=birthdayValue+'-'+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11);
if(parseInt(val.charAt(14)/2)*2!=val.charAt(14))
document.all.sex.value='男';
else
document.all.sex.value='女';
document.all.birthday.value=birthdayValue;
}
if(18==val.length){//18位身份證號碼
birthdayValue=val.charAt(6)+val.charAt(7)+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11)+'-'+val.charAt(12)+val.charAt(13);
if(parseInt(val.charAt(16)/2)*2!=val.charAt(16))
document.all.sex.value='男';
else
document.all.sex.value='女';
if(val.charAt(17)!=IDCard(val)){
document.all.idCard.style.backgroundColor='#ffc8c8';
}else{
document.all.idCard.style.backgroundColor='white';
}
document.all.birthday.value=birthdayValue;
}
}

// 18位身份證號最後一位校驗
function IDCard(Num)
{
if (Num.length!=18)
return false;
var x=0;
var y='';

for(i=18;i>=2;i--)
x = x + (square(2,(i-1))%11)*parseInt(Num.charAt(19-i-1));
x%=11;
y=12-x;
if (x==0) y='1';
if (x==1) y='0';
if (x==2) y='X';
return y;
}
// 求得x的y次方
function square(x,y)
{
var i=1;
for (j=1;j<=y;j++)
i*=x;
return i;
}


身份證<input type="text" name="idCard">
性別<input type="text" name="sex">
生日<input type="text" name="birthday">

獲取頁面中控件的ID:(查錯時可能有用)

function clk()
{
document.all('TextBox1').value=event.srcElement.id;
}

document.onclick=clk;


 B.27 string對象
  它不是另一個對象的屬性,而是一個內置對象,即一串字符字符串輸入腳本中時必須位於引號內。
  屬性
  length 字符串中的字符個數
  方法
  anchor() 用來把字符串轉換到HTML錨點標記內(<A NAME=>)
  big() 把字符串中的文本變成大字體(<BIG>)
  blink() 把字符串中的文本變成閃爍字體(<BLINK>)
  bold() 把字符串中的文本變成黑字體(<B>)
  charAt() 尋找字符串中指定位置的一個字符
  fixed() 把字符串中的文本變成固定間距字體(<TT>)
  fontcolor() 改變字符串中文本的顏色(<FONT COLOR=>)
  fontsize() 把字符串中的文本變成指定大小(<FONTSIZE=>)
  indexOf() 用來搜索字符串中的某個特殊字符,並返回該字符的索引位置
  italics() 把字符串中的文本變成斜字體(<I>)
  lastlndexOf() 與indexof相似,但是向後搜索最後一個出現的字符
  link() 用來把字符串轉換到HTML鏈接標記中(<A HREF=>)
  small() 把字符串中的文本變成小字體(<SMALL>)
  strike() 把字符串中的文本變成劃掉字體(<STRIKE>)
  sub() 把字符串中的文本變成下標(subscript)字體((SUB>)
  substring() 返回字符串裏指定位置間的一部分字符串
  sup() 把字符串中的文本變成上標(superscript)字體(<SUP>)
  toLowerCase() 把字符串中的文本變成小寫
  toUpperCase() 把字符串中的文本變成大寫

  B.28 submit對象
  它是form對象的一個屬性,窗體中的一個提交按鈕(<INPUT TYPE=”SUBMIT”>)。
  屬性
  name 對象的名字(NAME=特性)
  value VALUE=特性
  方法
  click 模擬鼠標單擊按鈕
  事件處理程序
  Onclick 點擊

  B.29 text對象
  它是form對象的一個屬性,宙體中的一個文本域(<INPUT TYPE=”TEXT”>)。
  屬性
  defaultValue text對象的缺省值(VALUE=特性)
  name 該對象的名字(NAME=特性)
  Value 該域具有的當前值,最初與VALUE=特性(defaultValue)相同但是,如果腳本修改了該域中的值,則該值將改變
  方法
  blur 把焦點從文本框移開
  focus 把焦點移到文本框
  select 選擇輸入區域
  事件處理程序
  Onblur 失去焦點事件
  Onchange 更改
  Onfocus 聚焦事件
  Onselect 選取事件

  B.30 textarea對象
  它是form對象的一個屬性,宙體中的一個文本區域(<TEXTAREA>)。
  屬性
  defaultValue textarea對象的缺省值(VALUE=特性)
  name 該對象的名字(NAME=特性)
  value 該域具有的當前值,最初與VALUE=特性(defaultValue)相同,但是,如果腳本修改了該域中的值,則該值將改變了。
  方法
  blur 把焦點從文本區移開
  focus 把焦點移到文本區
  select 選擇輸入區域事件處理程序
  事件處理程序
  Onblur 失去焦點事件
  Onchange 更改
  Onfocus 聚焦事件
  Onselect 選取事件

  B.31 window對象
  它是一個頂層對象,而不是另一個對象的屬性即瀏覽器的窗口。
  屬性
  defaultStatus 缺省的狀態條消息
  document 當前顯示的文檔(該屬性本身也是一個對象)
  frame 窗口裏的一個框架((FRAME>)(該屬性本身也是一個對象)
  frames array 列舉窗口的框架對象的數組,按照這些對象在文檔中出現的順序列出(該屬性本身也是一個對象)
  history 窗口的歷史列表(該屬性本身也是一個對象)
  length 窗口內的框架數
  location 窗口所顯示文檔的完整(絕對)URL(該屬性本身也是一個對象)不要把它與如document.location混淆,後者是當前顯示文檔的URL。用戶可以改變window.location(用另一個文檔取代當前文檔),但卻不能改變document.location(因爲這是當前顯示文檔的位置)
  name 窗口打開時,賦予該窗口的名字
  opener 代表使用window.open打開當前窗口的腳本所在的窗口(這是Netscape Navigator 3.0beta 3所引入的一個新屬性)
  parent 包含當前框架的窗口的同義詞。frame和window對象的一個屬性
  self 當前窗口或框架的同義詞
  status 狀態條中的消息
  top 包含當前框架的最頂層瀏覽器窗口的同義詞
  window 當前窗口或框架的同義詞,與self相同
  方法
  alert() 打開一個Alert消息框
  clearTimeout() 用來終止setTimeout方法的工作
  close() 關閉窗口
  confirm() 打開一個Confirm消息框,用戶可以選擇OK或Cancel,如果用戶單擊OK,該方法返回true,單擊Cancel返回false
  blur() 把焦點從指定窗口移開(這是Netscape Navigator 3.0 beta 3引入的新方法)
  focus() 把指定的窗口帶到前臺(另一個新方法)
  open() 打開一個新窗口
  prompt() 打開一個Prompt對話框,用戶可向該框鍵入文本,並把鍵入的文本返回到腳本
  setTimeout() 等待一段指定的毫秒數時間,然後運行指令事件處理程序
  事件處理程序
  Onload() 頁面載入時觸發
  Onunload() 頁面關閉時觸發


  B.16 images數組
  它是document對象的一個屬性,文檔中所有圖像的列表。
  屬性
  length 文檔內的圖像個數

  B.17 link
  它是document對象的一個屬性,文檔內的一個<A HREF=>標記。
  屬性
  hash 以散列號(#)開始的一個字符串,用於指定URL內的一個錨點
  host 包括冒號和端口號的URL的主機名部分
  hostname 與host屬性相同,除了不包括冒號和端口號外
  href 完整的URL
  pathname URL的目錄路徑部分
  port URL的:端口部分
  protocol URL類型(http:、ftp:、gopher:等等)
  search 以一個問號開始的URL中的一部分,用於指定搜索信息
  target 當用戶單擊一鏈接(TARGET特性)時,用於顯示被引用文檔內容的窗口
  事件處理程序
  Onclick 點擊
  Onmouseover 鼠標移到對象上

  B.18 links數組
  它是document對象的一個屬性,文檔內所有鏈接的一個列表。
  屬性
  length 文檔內的鏈接數

  B.19 location對象
  它爲document對象的一個屬性,該文檔的完整URL,請不要把它與window.location屬性相混淆,後者可用來加載一個新文檔,並且window.location屬性本身並不是一個對象,同時,window.location可以用腳本修改,而document.location則不能。
  屬性
  hash 以散列號(#)開始的一個字符串,用於指定URL內的一個錨點
  host 包括冒號和端口號的URL的主機名部分
  hostname 與host屬性相同,除了不包括冒號和端口號之外
  href 完整的URL
  pathname URL的目錄路徑部分
  port URL的:端口部分
  protocol URL的類型(http:、ftp:、gopher:等等)
  search 以問號(?)開始的URL中的一部分,用於指定搜索信息
  target 用戶單擊鏈接(TARGET特性)時,用於顯示被引用文檔的內容的窗口

  B.20 math對象
  該對象不是其它對象的一個屬性,而是一個內置對象,包含了許多數學常量和函數。
  屬性
  E 歐拉常量,自然對數的底(約等於2.718)
  LN2 2的自然對數(約等於0.693)
  LN10 10的自然對數(約等於2.302)
  LOG2E 以2爲底的e的對數(約等於1.442)
  LOG10E 以10爲底的e的對數(約等於o.434)
  PI ∏的值(約等於3.14159)
  SQRT1_2 0.5的平方根(即l除以2的平方根,約等於o.707)
  SQRT2 2的平方根(約等於1.414)
  方法
  abs() 返回某數的絕對值(即該數與o的距離,例如,2與一2的絕對值都是2)
  acos() 返回某數的反餘弦值(以弧度爲單位)
  asin() 返回某數的反正弦值(以弧度爲單位)
  atan() 返回某數的反正切值(以弧度爲單位)
  ceil() 返回與某數相等,或大於該數的最小整數(ceil(-22.22)返回-22;ceil22,22)返回23;ceil(22)返回22)
  cos() 返回某數(以弧度爲單位)的餘弦值
  exp() 返回en
  floor() 與ceil相反(floor(一22.22)返回一23;floor(22.22)返回22; floor(22)返回22)
  10g() 返回某數的自然對數(以e爲底)
  max() 返回兩數間的較大值
  min() 返回兩數問的較小值
  pow() 返回m的n次方(其中,m爲底,n爲指數)
  random() 返回0和1之間的一個僞隨機數(該方法僅在Netscape
  Navigator的UNIX版本中有效)
  round() 返回某數四捨五入之後的整數
  sin() 返回某數(以弧度爲單位)的正弦值
  sqrt() 返回某數的平方根
  tan() 返回某數的正切值

  B.2l navigator對象
  該對象不是其它對象的屬性,而是一個內置對象它包含了有關加載文檔的瀏覽器的信息。
  屬性
  appCodeName 瀏覽器的代碼名(例如,Mozilla)
  appName 瀏覽器的名字
  appVersion 瀏覽器的版本號
  userAgent 由客戶機送到服務器的用戶與代理頭標文本
  方法
  javaEnabled JavaScript中當前並沒有該方法,但是不久之後將會添加上它將查看瀏覽器是否爲兼容JavaScript的瀏覽器,如果是,繼續查看JavaScript是否處於支持狀態。

  B.22 options數組
  該數組是select對象的一個屬性,即選擇框中的所有選項(<OPTION>)的一個列表。
  屬性
  defaultSelected 選項列表中的缺省選項
  index 選項列表中某選項的索引位置
  length 選項列表中的選項數(<OPTIONS>)
  name 選項列表的名字(NAME特性)
  selected 表示選項列表中某選項<OPTION>是否被選中的一個布爾類型值
  selectedIndex 選項列表中已選中的<OPTION>的索引(位置)
  text 選項列表中<OPTION>標記後的文本
  value 選項列表中的VALUE=特性

  B.23 Password 對象
  它是document對象的一個屬性,一個<INPUT TYPE=”PASSWORD”>標記。
  屬性
  defaultValue password對象的缺省值(VAlUE=特性)
  name 對象的名字(NAME=特性)
  value 該域具有的當前值最初與VALUE=特性(defauttValue)相同,但是,如果腳本修改了該域中的值,則該值將改變
  方法
  focus 把焦點從該域移開
  blur 把焦點移到該域
  select 選擇輸入區域

  B.24 radio對象
  它是form對象的一個屬性,窗體內的一組單選按鈕(選項按鈕)(<INPUT TYPE=”RADIO”>)。
  屬性
  checked 複選框或選項按鈕(單選按鈕)的狀態
  defaultChecked 複選框或選項按鈕(單選按鈕)的缺省狀態
  length 一組單選按鈕中的按鈕數
  name 對象的名字(NAME=特性)
  value VALUE=特性
  方法
  click 模擬鼠標單擊按鈕
  事件處理程序
  onclick 點擊

  B.25 reset 對象
  它是form對象的一個屬性,復位按鈕(<INPUT TYPE=”RESET”>)。
  屬性
  name 對象的名字(NAME=特性)
  value VALUE=特性
  方法
  click 模擬鼠標單擊按鈕
  事件處理程序
  onclick 點擊

  B.26 select對象
  它是form對象的一個屬性,選擇框(<SELECT>)。
  屬性
  length 選項列表中的選項數(<OPTIONS>)
  name 選項列表的名字(NAME特性)
  options 列表中的選項數
  selectedlndex 選項列表中已選中的<OPTION>的索引(位置)
  text 選項列表中(OPTION)標記之後的文本
  value 選項列表中的VALUE=特性
  方法
  blur 把焦點從選項列表中移走
  focus 把焦點移到選項列表中
  事件處理程序
  Onblur 失去焦點時事件
  onchange 更改
  Onfocus 聚焦事件
本文列舉了各種JavaScript對象與數組,同時包括對上述每一對象或數組所完成工作的簡短描述,以及與其相關的屬性方法,以及事件處理程序,還註明了該對象或數組的父對象用戶同樣可能需要參考Online Companion中的超級文本Object Hierarchy頁面(http://www.netscapepress.com/support/javascript/10-9.htm),以便了解這些對象之間是如何相互關聯的。
  順便提一下,記住,這裏把所有作爲另一對象的子對象的對象看作該對象的屬性請參見第十章中與此相關的註解。

  B.1 anchor對象
  使用<A NAME=>標記創建的HTML描點能被一個鏈接作爲目標如果錨點包括HREF=特性,則它也是一個鏈接對象。
  anchor對象是document對象的一個屬性,它本身沒有屬性方法或者事件處理程序。

  B.2 anchors數組
  anchors數組是document對象的一個屬性,是文檔內所有anchor對象的一個列表如果anchor也是一個link(鏈接),則它會同時出現在anchors和links數組中。
  屬性
  length 文檔內的錨點個數

  B.3 array對象
  array對象是Netscape Navlgator 3.0 beta 3中引入的一個新的對象,因而,它不能在Netscape 2.0中使用它是一個內置對象,而不是其它對象的屬性。
  屬性
 length 數組中的值個數

  B.4 button對象
  它是form對象的一個屬性,使用<INPUT TYPE="BUTTON">標記來創建。
  屬性
  name HTML標記中的NAME=特性
  value HTML標記中的VALUE=特性
  方法
  click 模擬鼠標單擊一按鈕
  事件處理程序
  Onclick

  B.5 checkbox 對象
  它是form對象的一個屬性,使用<INPUT TYPE="CHECKBOX">標記來創建。
  屬性
  checked 複選框的選擇狀態
  defaultChecked 標記的CHECKED=特性
  name 標記的NAME=特性
  value 標記的VALUE=特性
  方法
  click 模擬鼠標單擊按鈕
  事件處理程序
  onclick

  B.6 Date對象
  它是一個內置對象——而不是其它對象的屬性,允許用戶執行各種使用日期和時間的過程。
 方法
  getDate() 查看Date對象並返回日期
  getDay() 返回星期幾
  getHours() 返回小時數
  getMinutes() 返回分鐘數
  getMonth() 返回月份值
  getSeconds() 返回秒數
  getTime() 返回完整的時間
  getTimezoneoffset() 返回時區偏差值(格林威治平均時間與運行腳本的計算機所處時區設置之間相差的小時數)
  getYear() 返回年份
  parse() 返回在Date字符串中自從1970年1月1日00:00:00以來的毫秒數(Date對象按照毫秒數的形式存儲從那時起的日期和時間)但是注意,該方法當前不能正確運行
  setDate() 改變Date對象的日期
  setHours() 改變小時數
  setMinutes() 改變分鐘數
  setMonth() 改變月份
  setSeconds() 改變秒數
  setTime() 改變完整的時間
  setYear() 改變年份
  toGMTString() 把Date對象的日期(一個數值)轉變成一個GMT時間字符串,返回類似下面的值:Weds,15 June l997 14:02:02 GMT(精確的格式依賴於計算機上所運行的操作系統而變)
  toLocaleString() 把Date對象的日期(一個數值)轉變成一個字符串,使用所在計算機上配置使用的特定日期格式
  UTC() 使用Date UTC(年、月、日、時、分、秒),以自從1970年1月1日00:00:00(其中時、分、秒是可選的)以來的毫秒數的形式返回日期

  B.7 document對象
  該對象是window和frames對象的一個屬性,是顯示於窗口或框架內的一個文檔。
  屬性
  alinkColor 活動鏈接的顏色(ALINK)
  anchor 一個HTMI錨點,使用<A NAME=>標記創建(該屬性本身也是一個對象)
  anchors array 列出文檔錨點對象的數組(<A NAME=>)(該屬性本身也是一個對象)
  bgColor 文檔的背景顏色(BGCOLOR)
  cookie 存儲於cookie.txt文件內的一段信息,它是該文檔對象的一個屬性
  fgColor 文檔的文本顏色(<BODY>標記裏的TEXT特性)
  form 文檔中的一個窗體(<FORM>)(該屬性本身也是一個對象)
  forms anay 按照其出現在文檔中的順序列出窗體對象的一個數組(該屬性本身也是一個對象)
  lastModified 文檔最後的修改日期
  linkColor 文檔的鏈接的顏色,即<BODY>標記中的LINK特性(鏈接到用戶沒有觀察到的文檔)
  link 文檔中的一個<A HREF=>標記(該屬性本身也是一個對象)
  links array 文檔中link對象的一個數組,按照它們出現在文檔中的順序排列(該屬性本身也是一個對象)
  location 當前顯示文檔的URL。用戶不能改變document.location(因爲這是當前顯示文檔的位置)。但是,可以改變window.location (用其它文檔取代當前文檔)window.location本身也是一個對象,而document.location不是對象
  referrer 包含鏈接的文檔的URL,用戶單擊該鏈接可到達當前文檔
  title 文檔的標題((TITLE>)
  vlinkColor 指向用戶已觀察過的文檔的鏈接文本顏色,即<BODY>標記的VLINK特性
  方法
  clear 清除指定文檔的內容
  close 關閉文檔流
  open 打開文檔流
  write 把文本寫入文檔
  writeln 把文本寫入文檔,並以換行符結尾

  B.8 elements數組
  它是form對象的一個屬性,列舉了窗體內各元素的一個數組。
  屬性
  1ength 窗體內的元素個數
  B.9 form對象
  它是document對象的一個屬性,文檔內的一個窗體。
  屬性
  action 包含了爲一個窗體提交的目標URL的字符串
  button 窗體內的一個按鈕,使用<INPUT TYPE=”BUTTON”>標記來創建(該屬性本身也是一個對象)
  checkbox 複選框,使用<INPUT TYPE=”CHECKBOX”>標記來創建 (該屬性本身也是一個對象)
  elements array 一個數組,按照其出現於窗體內的順序列舉各窗體元素(該屬性本身也是一個對象)
  encoding 窗體的MIME編碼
 hidden 窗體裏的一個隱藏元素(<INPUT TYPE=”HIDDEN”>)。窗體對象的一個屬性(該屬性本身也是一個對象)
  length 窗體裏的元素的個數
  method 輸入窗體的數據傳送到服務器上的方式,即(FORM)標記中的METHOD特性
  radio 設置在窗體裏的單選按鈕(<INPUT TYPE=”RADIO”>)(該屬性本身也是一個對象)
  reset 窗體裏的復位按鈕((1NPUT TYPE=”RESET”>)(該屬性自身也是一個對象)
  select 窗體裏的選擇框(<SELECT>)(該屬性本身也是一個對象)
  submit 窗體裏的提交按鈕(<INPUT TYPE=”SUBMIT”>)(該屬性本身也是一個對象)
  target 提交窗體後,顯示迴應信息的窗口的名字
  text 窗體裏的文本元素(<INPUT TYPE=”TEXT”>)(該屬性本身也是一個對象)
  textarta 窗體裏的文本區元素(<TEXTAREA>)(該屬性本身也是一個對象)
  方法
  submit 提交窗體(與使用Submit按鈕的作用相同)事件處理程序
  onsubmit

  B.10 forms數組
  該數組是document對象的一個屬性,即列舉了文檔內的各窗體的一個數組。
  屬性
  length 文檔內窗體的個數

  B.11 frame對象
  它是window對象的一個屬性,窗口內的一個框架。除了個別例外,frame對象與window對象的作用相同。
  屬性
  frames array 列舉該框架內的各個子框架的一個數組(該屬性本身也是—個對象)
  length 該框架內的框架數
  name 框架的名字(<FRAME>標記裏的NAME特性)
  parent 包含本框架的父窗口的同義詞
  self 當前框架的同義詞
  window 當前框架的同義詞
  方法
  clearTimeout() 用來終止setTimeout方法的工作
  setTimeout() 等待指定的毫秒數,然後運行指令

  B.12 frames數組
  它既是window對象,也是frame對象的屬性,列舉了window或者frame對象內的各框架。
  屬性
  length 窗口或框架對象內的框架數

  B.13 hidden對象
  糊爲form對象的一個屬性,窗體內的一個隱藏元素(<INPUT TYPE=”HIDDEN”>)。
  屬性
  name 標記內的名字(NAME特性)
  value 標記內的VALUE=特性

  B.14 history對象
  它爲window對象的一個屬性,該窗口的歷史列表。
  屬性
  length 歷史列表中的項目數
  方法
  back 加載歷史列表中的上一個文檔
  forward 加載歷史列表中的下一個文檔
  go 加載歷史列表中的一個指定文檔,通過文檔在列表中的位置來指定

  B.15 image對象
  它是document對象的一個屬性,是使用(1MG)標記內嵌入文檔裏的一幅圖像這是Netscape Navigator 3.0 beta 3引入的新對象。
  屬性
  border <IMG>標記的BORDER特性
  complete 表示瀏覽器是否完整地加載了圖像的一個布爾值
  height HEIGHT特性
  hspace HSPACE特性
  lowsrc LOWSRC特性
  src SRC特性
  vsPace VSPACE特性
  width WIDTH特性
  事件處理程序
  Onload 圖象載入
  Onerror 載入錯誤
  Onabort 取消

javascript事件列表解說

事件 瀏覽器支持 解說
一般事件

onclick IE3、N2 鼠標點擊時觸發此事件
ondblclick IE4、N4 鼠標雙擊時觸發此事件
onmousedown IE4、N4 按下鼠標時觸發此事件
onmouseup IE4、N4 鼠標按下後鬆開鼠標時觸發此事件
onmouseover IE3、N2 當鼠標移動到某對象範圍的上方時觸發此事件
onmousemove IE4、N4 鼠標移動時觸發此事件
onmouseout IE4、N3 當鼠標離開某對象範圍時觸發此事件
onkeypress IE4、N4 當鍵盤上的某個鍵被按下並且釋放時觸發此事件.
onkeydown IE4、N4 當鍵盤上某個按鍵被按下時觸發此事件
onkeyup IE4、N4 當鍵盤上某個按鍵被按放開時觸發此事件

頁面相關事件
onabort IE4、N3 圖片在下載時被用戶中斷
onbeforeunload IE4、N 當前頁面的內容將要被改變時觸發此事件
onerror IE4、N3 出現錯誤時觸發此事件
onload IE3、N2 頁面內容完成時觸發此事件
onmove IE、N4 瀏覽器的窗口被移動時觸發此事件
onresize IE4、N4 當瀏覽器的窗口大小被改變時觸發此事件
onscroll IE4、N 瀏覽器的滾動條位置發生變化時觸發此事件
onstop IE5、N 瀏覽器的停止按鈕被按下時觸發此事件或者正在下載的文件被中斷
onunload IE3、N2 當前頁面將被改變時觸發此事件

表單相關事件
onblur IE3、N2 當前元素失去焦點時觸發此事件
onchange IE3、N2 當前元素失去焦點並且元素的內容發生改變而觸發此事件
onfocus IE3 、N2 當某個元素獲得焦點時觸發此事件
onreset IE4 、N3 當表單中RESET的屬性被激發時觸發此事件
onsubmit IE3 、N2 一個表單被遞交時觸發此事件

滾動字幕事件

onbounce IE4、N 在Marquee內的內容移動至Marquee顯示範圍之外時觸發此事件
onfinish IE4、N 當Marquee元素完成需要顯示的內容後觸發此事件
onstart IE4、 N 當Marquee元素開始顯示內容時觸發此事件

編輯事件

onbeforecopy IE5、N 當頁面當前的被選擇內容將要複製到瀏覽者系統的剪貼板前觸發此事件
onbeforecut IE5、 N 當頁面中的一部分或者全部的內容將被移離當前頁面[剪貼]並移動到瀏覽者的系統
剪貼板時觸發此事件

onbeforeeditfocus IE5、N 當前元素將要進入編輯狀態
onbeforepaste IE5、 N 內容將要從瀏覽者的系統剪貼板傳送[粘貼]到頁面中時觸發此事件
onbeforeupdate IE5、 N 當瀏覽者粘貼系統剪貼板中的內容時通知目標對象
oncontextmenu IE5、N 當瀏覽者按下鼠標右鍵出現菜單時或者通過鍵盤的按鍵觸發頁面菜單時觸發的事件
oncopy IE5、N 當頁面當前的被選擇內容被複制後觸發此事件
oncut IE5、N 當頁面當前的被選擇內容被剪切時觸發此事件
ondrag IE5、N 當某個對象被拖動時觸發此事件 [活動事件]
ondragdrop IE、N4 一個外部對象被鼠標拖進當前窗口或者幀
ondragend IE5、N 當鼠標拖動結束時觸發此事件,即鼠標的按鈕被釋放了
ondragenter IE5、N 當對象被鼠標拖動的對象進入其容器範圍內時觸發此事件
ondragleave IE5、N 當對象被鼠標拖動的對象離開其容器範圍內時觸發此事件
ondragover IE5、N 當某被拖動的對象在另一對象容器範圍內拖動時觸發此事件
ondragstart IE4、N 當某對象將被拖動時觸發此事件
ondrop IE5、N 在一個拖動過程中,釋放鼠標鍵時觸發此事件
onlosecapture IE5、N 當元素失去鼠標移動所形成的選擇焦點時觸發此事件
onpaste IE5、N 當內容被粘貼時觸發此事件
onselect IE4、N 當文本內容被選擇時的事件
onselectstart IE4、N 當文本內容選擇將開始發生時觸發的事件

數據綁定
onafterupdate IE4、N 當數據完成由數據源到對象的傳送時觸發此事件
oncellchange IE5、N 當數據來源發生變化時
ondataavailable IE4、N 當數據接收完成時觸發事件
ondatasetchanged IE4、N 數據在數據源發生變化時觸發的事件
ondatasetcomplete IE4、N 當來子數據源的全部有效數據讀取完畢時觸發此事件
onerrorupdate IE4、N 當使用onBeforeUpdate事件觸發取消了數據傳送時,代替onAfterUpdate事件
onrowenter IE5、N 當前數據源的數據發生變化並且有新的有效數據時觸發的事件
onrowexit IE5、N 當前數據源的數據將要發生變化時觸發的事件
onrowsdelete IE5、N 當前數據記錄將被刪除時觸發此事件
onrowsinserted IE5、N 當前數據源將要插入新數據記錄時觸發此事件

外部事件
onafterprint IE5、N 當文檔被打印後觸發此事件
onbeforeprint IE5、N 當文檔即將打印時觸發此事件
onfilterchange IE4、N 當某個對象的濾鏡效果發生變化時觸發的事件
onhelp IE4、N 當瀏覽者按下F1或者瀏覽器的幫助選擇時觸發此事件
onpropertychange IE5、N 當對象的屬性之一發生變化時觸發此事件
onreadystatechange IE4、N 當對象的初始化屬性值發生變化時觸發此事件

38.頁面進入和退出的特效
進入頁面<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 以上22種隨機選擇一種

2006-10-16 16:42:18
<!--
-->
islet
Rank: 12Rank: 12Rank: 12
等 級:貴賓
威 望:89
帖 子:6552
專家分:0
注 冊:2005-1-28
  得分:0 

39.在規定時間內跳轉
<META http-equiv=V="REFRESH" content="5;URL=http://www.51js.com">

40.網頁是否被檢索
<meta name="ROBOTS" content="屬性值">
  其中屬性值有以下一些:
  屬性值爲"all": 文件將被檢索,且頁上鍊接可被查詢;
  屬性值爲"none": 文件不被檢索,而且不查詢頁上的鏈接;
  屬性值爲"index": 文件將被檢索;
  屬性值爲"follow": 查詢頁上的鏈接;
  屬性值爲"noindex": 文件不檢索,但可被查詢鏈接;
  屬性值爲"nofollow": 文件不被檢索,但可查詢頁上的鏈接。

網頁常用小技巧
1. oncontextmenu="window.event.returnValue=false" 將徹底屏蔽鼠標右鍵
<table border oncontextmenu=return(false)><td>no</table> 可用於Table

2. <body onselectstart="return false"> 取消選取、防止複製

3. onpaste="return false" 不準粘貼

4. oncopy="return false;" oncut="return false;" 防止複製

5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址欄前換成自己的圖標

6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夾中顯示出你的圖標

7. <input style="ime-mode:disabled"> 關閉輸入法

8. 永遠都會帶着框架
<script language="JavaScript"><!--
if (window == top)top.location.href = "frames.htm"; //frames.htm爲框架網頁
// --></script>

9. 防止被人frame
<SCRIPT LANGUAGE=JAVASCRIPT><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>

10. 網頁將不能被另存爲
<noscript><iframe src=*.html></iframe></noscript>

11. <input type=button value=查看網頁源代碼
onclick="window.location = "view-source:"+ "http://www.51js.com/"">


12.刪除時確認
<a href="javascript:if(confirm("確實要刪除嗎?"))location="boos.asp?&areyou=刪除&page=1"">刪除</a>

13. 取得控件的絕對位置
//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>

14. 光標是停在文本框文字的最後
<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()">

15. 判斷上一頁的來源
javascript:
document.referrer

16. 最小化、最大化、關閉窗口
<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></object>
<object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" VALUE="Close"></OBJECT>

<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=關閉 onclick=hh3.Click()>
本例適用於IE

17.屏蔽功能鍵Shift,Alt,Ctrl
<script>
function look(){
if(event.shiftKey)
alert("禁止按Shift鍵!"); //可以換成ALT CTRL
}
document.onkeydown=look;
</script>

18. 網頁不會被緩存
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
或者<META HTTP-EQUIV="expires" CONTENT="0">

19.怎樣讓表單沒有凹凸感?
<input type=text style="border:1 solid #000000">

<input type=text style="border-left:none; border-right:none; border-top:none; border-bottom:

1 solid #000000"></textarea>

20.<div><span>&<layer>的區別?
<div>(division)用來定義大段的頁面元素,會產生轉行
<span>用來定義同一行內的元素,跟<div>的唯一區別是不產生轉行
<layer>是ns的標記,ie不支持,相當於<div>


21.讓彈出窗口總是在最上面:
<body onblur="this.focus();">

22.不要滾動條?
讓豎條沒有:
<body style="overflow:scroll;overflow-y:hidden">
</body>
讓橫條沒有:
<body style="overflow:scroll;overflow-x:hidden">
</body>
兩個都去掉?更簡單了
<body scroll="no">
</body>

23.怎樣去掉圖片鏈接點擊後,圖片周圍的虛線?
<a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0></a>

24.電子郵件處理提交表單
<form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain">
<input type=submit>
</form>

25.在打開的子窗口刷新父窗口的代碼裏如何寫?
window.opener.location.reload()

26.如何設定打開頁面的大小
<body onload="top.resizeTo(300,200);">
打開頁面的位置<body onload="top.moveBy(300,200);">

27.在頁面中如何加入不是滿鋪的背景圖片,拉動頁面時背景圖不動
<STYLE>
body
{background-image:url(logo.gif); background-repeat:no-repeat;

background-position:center;background-attachment: fixed}
</STYLE>

28. 檢查一段字符串是否全由數字組成
<script language="Javascript"><!--
function checkNum(str){return str.match(//D/)==null}
alert(checkNum("1232142141"))
alert(checkNum("123214214a1"))
// --></script>

29. 獲得一個窗口的大小
document.body.clientWidth; document.body.clientHeight

30. 怎麼判斷是否是字符
if (/[^/x00-/xff]/g.test(s)) alert("含有漢字");
else alert("全是字符");

31.TEXTAREA自適應文字行數的多少
<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">
</textarea>

32. 日期減去天數等於第二個日期
<script language=Javascript>
function cc(dd,dadd)
{
//可以加上錯誤處理
var a = new Date(dd)
a = a.valueOf()
a = a - dadd * 24 * 60 * 60 * 1000
a = new Date(a)
alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
}
cc("12/23/2002",2)
</script>

33. 選擇了哪一個Radio
<HTML><script language="vbscript">
function checkme()
for each ob in radio1
if ob.checked then window.alert ob.value
next
end function
</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>

34.腳本永不出錯
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide
function killErrors() {
return true;
}
window.onerror = killErrors;
// -->
</SCRIPT>

35.ENTER鍵可以讓光標移到下一個輸入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">

36. 檢測某個網站的鏈接速度:
把如下代碼加入<body>區域中:
<script language=Javascript>
tim=1
setInterval("tim++",100)
b=1

var autourl=new Array()
autourl[1]="www.njcatv.net"
autourl[2]="javacool.3322.net"
autourl[3]="www.sina.com.cn"
autourl[4]="www.nuaa.edu.cn"
autourl[5]="www.cctv.com"

function butt(){
document.write("<form name=autof>")
for(var i=1;i<autourl.length;i++)
document.write("<input type=text name=txt"+i+" size=10 value=測試中……> =》<input type=text

name=url"+i+" size=40> =》<input type=button value=GO

onclick=window.open(this.form.url"+i+".value)><br/>")
document.write("<input type=submit value=刷新></form>")
}
butt()
function auto(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++
}
function run(){for(var i=1;i<autourl.length;i++)document.write("<img
src=http://"+autourl+"/"+Math.random()+" width=1 height=1
onerror=auto("http://"+autourl+"")>")}
run()</script>

37. 各種樣式的光標
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

external.m2_blocked()、external.m2_blocked()方法使用詳解

javascript有許多內建的方法來產生對話框,如:window.alert(),
window.confirm(),window.prompt().等。 然而IE提供更多的方法支持對話框。如:

  external.m2_blocked() (IE 4+ 支持)
  external.m2_blocked() (IE 5+ 支持)


window.external.m2_blocked()方法用來創建一個顯示HTML內容的模態對話框,
由於是對話框,因此它並沒有一般用window.open()打開的窗口的所有屬性。
window.external.m2_blocked()方法用來創建一個顯示HTML內容的非模態對話框。

當我們用external.m2_blocked()打開窗口時,不必用window.close()去關閉它,
當以非模態方式[IE5]打開時, 打開對話框的窗口仍可以進行其他的操作,即對話框
不總是最上面的焦點,當打開它的窗口URL改變時,它自動關閉。而模態[IE4]
方式的對話框始終有焦點(焦點不可移走,直到它關閉)。模態對話框和打開它的窗
口相聯繫,因此我們打開另外的窗口時,他們的鏈接關係依然保存,並且隱藏在活動
窗口的下面。

使用方法如下:
vReturnValue=window.external.m2_blocked(sURL [,vArguments] [,sFeatures])
vReturnValue=window.external.m2_blocked(sURL [,vArguments] [,sFeatures])
參數說明:
sURL
必選參數,類型:字符串。用來指定對話框要顯示的文檔的URL。
vArguments
可選參數,類型:變體。用來向對話框傳遞參數。傳遞的參數類型不限,包括數組等。
對話框通過window.dialogArguments來取得傳遞進來的參數。
sFeatures
可選參數,類型:字符串。用來描述對話框的外觀等信息,可以使用以下的一個或幾個,
用分號“;”隔開。
dialogHeight 對話框高度,不小於100px,IE4中dialogHeight 和 dialogWidth
默認的單位是em,而IE5中是px,爲方便其見,在定義modal方式的對話框時,用px
做單位。
  dialogWidth: 對話框寬度。
  dialogLeft: 距離桌面左的距離。
  dialogTop: 離桌面上的距離。
  center: {yes | no | 1 | 0 }:窗口是否居中,默認yes,但仍可以指定高度和寬度。
  help: {yes | no | 1 | 0 }:是否顯示幫助按鈕,默認yes。
  resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改變大小。默認no。
  status: {yes | no | 1 | 0 } [IE5+]:是否顯示狀態欄。默認爲yes[ Modeless]
或no[Modal]。
scroll:{ yes | no | 1 | 0 | on | off }:指明對話框是否顯示滾動條。默認爲yes。

還有幾個屬性是用在HTA中的,在一般的網頁中一般不使用。
dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印預覽時對話框是否隱藏。
默認爲no。
edge:{ sunken | raised }:指明對話框的邊框樣式。默認爲raised。
unadorned:{ yes | no | 1 | 0 | on | off }:默認爲no。

傳入參數:
要想對話框傳遞參數,是通過vArguments來進行傳遞的。類型不限制,對於字符串類型,
最大爲4096個字符。也可以傳遞對象,例如:

test1.htm
====================
<script>
var mxh1 = new Array("mxh","net_lover","孟子E章")
var mxh2 = window.open("about:blank","window_mxh")
// 向對話框傳遞數組
window.external.m2_blocked("test2.htm",mxh1)
// 向對話框傳遞window對象
window.external.m2_blocked("test3.htm",mxh2)
</script>

test2.htm
====================
<script>
var a = window.dialogArguments
alert("您傳遞的參數爲:" + a)
</script>

test3.htm
====================
<script>
var a = window.dialogArguments
alert("您傳遞的參數爲window對象,名稱:" + a.name)
</script>

可以通過window.returnValue向打開對話框的窗口返回信息,當然也可以是對象。
例如:

test4.htm
===================
<script>
var a = window.external.m2_blocked("test5.htm")
for(i=0;i<a.length;i++) alert(a[i])
</script>

test5.htm
===================
<script>
function sendTo()
{
var a=new Array("a","b")
window.returnValue = a
window.close()
}
</script>
<body>
<form>
<input value="返回" type=button onclick="sendTo()">
</form>

常見問題:
1,如何在模態對話框中進行提交而不新開窗口?
如果你 的 瀏覽器是IE5.5+,可以在對話框中使用帶name屬性的iframe,提交時可以
制定target爲該iframe的name。對於IE4+,你可以用高度爲0的frame來作:例子,

test6.htm
===================
<script>
window.external.m2_blocked("test7.htm")
</script>

test7.htm
===================
if(window.location.search) alert(window.location.search)
<frameset rows="0,*">
<frame src="about:blank">
<frame src="test8.htm">
</frameset>

test8.htm
===================
<form target="_self" method="get">
<input name=txt value="test">
<input type=submit>
</form>
<script>
if(window.location.search) alert(window.location.search)
</script>
2,可以通過http://servername/virtualdirname/test.htm?name=mxh方式直接向
對話框傳遞參數嗎?
答案是不能。但在frame裏是可以的。
file://屏蔽 F5 刷新鍵


function document.onkeydown()
{
var k = window.event.keyCode;
if (k == 116) file://屏蔽 F5 刷新鍵
{
window.event.keyCode = 0;
window.event.returnValue= false;
}
}


<script language="javascript">
file://屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F5刷新、退格鍵
file://屏蔽F1幫助
function window.onhelp()
{
return false
}
function KeyDown()
{
file://alert(event.keyCode);
file://屏蔽 Alt+ 方向鍵 ← 屏蔽 Alt+ 方向鍵 →
if ((window.event.altKey)&&((window.event.keyCode==37)||
(window.event.keyCode==39)))
{
file://alert("不准你使用ALT+方向鍵前進或後退網頁!");
event.returnValue=false;
}
file://屏蔽退格刪除鍵,屏蔽 F5 刷新鍵,Ctrl + R
if ((event.keyCode==116)||(event.ctrlKey && event.keyCode==82))
{
event.keyCode=0;
event.returnValue=false;
}

file://屏蔽 Ctrl+n
if ((event.ctrlKey)&&(event.keyCode==78))
{
event.returnValue=false;
}

file://屏蔽 shift+F10
if ((event.shiftKey)&&(event.keyCode==121))
{
event.returnValue=false;
}

file://屏蔽 shift 加鼠標左鍵新開一網頁
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
{
window.event.returnValue = false;
}

file://屏蔽Alt+F4
if ((window.event.altKey)&&(window.event.keyCode==115))
{
window.external.m2_blocked("about:blank","","dialogWidth:1px;dialogheight:1px");
return false;
}

file://屏蔽Ctrl+A
if((event.ctrlKey)&&(event.keyCode==65))
{
return false;
}

}
</script>
</body>
</HTML>

一些蒐集的WEB技術小竅門
如何在HTML文件中包含某個HTML文件?
方法一:
在html 頁面 include 其它頁面
<IE:Download ID="oDownload" STYLE="behavior:url(#default#download)" />
<body onload="oDownload.startDownload('tt.htm',onDownloadDone)">
<span id=showImport></span>
<script language=javascript><!--
function onDownloadDone(downDate)
{
document.all.showImport.innerHTML=downDate; //這種方法被討論出來是最好的
}
//--></script>
方法二:
<object data="vister/count.asp" type="text/x-scriptlet" width="158" height="50" align="top" marginWidth=0 marginHeight

=0>
</object>
----------------------------------------------------------------------------------------------------------------------------

-------------------------------------------
TextBox里加入圖片?
<TEXTAREA rows=8 cols=20 id=textarea1 >
大家好!
這裏是一個圖片
</TEXTAREA>

<SCRIPT LANGUAGE=javascript>
<!--
var img = document.createElement("IMG");
img.src = "http://community.csdn.net/images/csdn.gif";
window.textarea1.appendChild(img);
//-->
</SCRIPT>


全屏技術:
真正的全屏頁面解決之道!(全代碼)
真正全屏解決之道:
1.htm
<html>
<head>
<title>無標題文檔</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');">
</body>
</html>


fullscreen.htm
<html>
<head>
<title>無標題文檔</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript1.2">
<!--
function opensmallwin(myurl){
var w2=300;//想彈出窗口的寬度
var h2=100;//想彈出窗口的高度
var w3=window.screen.width/2-w2/2;
var h3=window.screen.height/2-h2/2;
window.open(myurl,'small','toolbar=no,location=no,directories=no,status=no,menubar=no,
scrollbars=no,resizable=0,width='+ w2 +',height='+ h2 +',left='+ w3 +',top='+ h3 +'');
}
file://-->

<!--
function modelesswin(url,mwidth,mheight){
if (document.all&&window.print)
eval('window.external.m2_blocked(url,"","help:0;resizable:0;status:0;center:1;
scroll:0;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px")')
else
eval('window.open(url,"","width='+mwidth+'px,height='+mheight+'px,resizable=1,
scrollbars=1")')
}
file://-->

</script>
</head>

<body scroll="no">
<div align="right"><a href="javascript:" onclick="window.close()">關閉
</a> </div>
<p></P>
<div align="right"><a href="javascript:" onclick="opensmallwin('login.htm')">登錄
</a> </div>

<p></P>
<div align="center"><a href="javascript:"
onclick="modelesswin('login.htm',300,160)">用模態登錄窗口</a> </div>
</body>
</html>


login.htm
<html>
<head>
<title>用戶登錄</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<style type="text/css">
<!--
body {
background-color: #EAEAEA;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
line-height: 24px;
color: #336699;
}
input.boxline {
width: 100px;
font-family: "Times New Roman", "Times", "serif";
font-size: 9pt;
border: 1px solid #669999;
height: 18px;

}

input.whiteline {
font-size: 12px; border: 1px #999999 solid
}
-->
</style></head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" height="100%" border="0" cellpadding="0"
cellspacing="14" bgcolor="#CCCCCC">
<tr valign="top">
<td width="10%" nowrap align="right"><b>用戶名:</b></td>
<td width="90%"><input name="textfield1" type="text" size="25"
class="whiteline"></td>
</tr>
<tr valign="top">
<td nowrap align="right"><b>密 碼:</b></td>
<td><input name="textfield12" type="password" size="25"
class="whiteline"></td>
</tr>
<tr valign="top">
<td> </td>
<td><input type="submit" name="Submit" value="登  錄"
class="boxline"></td>
</tr>
</table>
</body>
</html>


自動關掉原窗口:


<html>
<head>
<title>無標題文檔</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
</head>

<body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');
window.opener=null;window.close()">
<input type=button value=關閉 onclick="window.opener=null;window.close()">
<!-- IE5.5+ 不會有彈出提示 -->

<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
height=0 width=0></OBJECT>
<input type=button value=關閉窗口 onclick=document.all.WebBrowser.ExecWB(45,1)>
</body>
</html>

關鍵是在onload事件中加入:
window.opener=null;window.close()


預讀圖片:
<SCRIPT LANGUAGE="javascript">

<!-- This script and many more are available free online at -->
<!-- The javascript Source!! <a href=http://javascript.internet.com
target=_blank>http://javascript.internet.com -->

<!-- Begin

image1 = new Image();
image1.src = "image1.gif";

image2 = new Image();
image2.src = "image2.gif";

// End -->
</script>

2006-10-16 16:43:09
<!--
-->
islet
Rank: 12Rank: 12Rank: 12
等 級:貴賓
威 望:89
帖 子:6552
專家分:0
注 冊:2005-1-28
  得分:0 

關於兩個網頁刷新交互的問題
JS處理方法:

a.htm

<a href="b.htm" target=blank>發表留言</a>
<script>
alert("wwwwwwwwwwwwwwwwwwwwwwwwww");
</script>

b.htm

<script language="javascript">
file://window.opener.location.reload();刷新父窗口
file://window.opener.location="2.htm"//重定向父窗口到2.htm頁
function closewindow()
{
window.opener.location.reload();
self.close();
window.opener.document.write("sssssssssssssssssss");
}
</script>
<a href="b.htm" target=blank onclick="closewindow();">關閉</a>

後臺處理方法:

private btnForSubmit(Object sender,EventArgs e)
{
.............
Response.Write("<script>window.opener.document.execCommand('refresh');
window.opener='';window.close();</script>");
file://string str="<script>window.opener.document.execCommand('refresh');
window.opener='';window.close();</script>";
file://this.RegisterStartupScript("mycode",str);

BS開發中常用的javascript技術


4、事件類
4.1 屏蔽右鍵
在body標籤里加上oncontextmenu=self.event.returnValue=false
4.2 屏蔽所有功能鍵

4.3 --> 和<-- F5 F11,F9,F1

4.4 屏蔽組合鍵ctrl+N

<script language=javascript>
function KeyDown(){
if ((window.event.altKey)&&
((window.event.keyCode==37)|| file://屏蔽 Alt+ 方向鍵 ←
(window.event.keyCode==39))){ file://屏蔽 Alt+ 方向鍵 →
alert("不准你使用ALT+方向鍵前進或後退網頁!");
event.returnValue=false;
}
if ((event.keyCode==8)|| file://屏蔽退格刪除鍵
(event.keyCode==116)){ file://屏蔽 F5 刷新鍵
event.keyCode=0;
event.returnValue=false;
}
if ((event.ctrlKey)&&(event.keyCode==78)){ file://屏蔽 Ctrl+n
event.returnValue=false;
}
if ((event.shiftKey)&&(event.keyCode==121)){ file://屏蔽 shift+F10
event.returnValue=false;
}
if (event.keyCode==122){ file://屏蔽 F11
event.returnValue=false;
}
}
只要知道keyCode即可屏蔽所有功能鍵


一、驗證類
1、數字驗證內
1.1 整數
/^(-|\+)?\d+$/.test(str)
1.2 大於0的整數 (用於傳來的ID的驗證)
/^\d+$/.test(str)
1.3 負整數的驗證
/^-\d+$/.test(str)
2、時間類
2.1 短時間,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('輸入的參數不是時間格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("時間格式不對");
return false
}
return true;
}
2.2 短日期,形如 (2003-12-05)
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
2.3 長時間,形如 (2003-12-05 13:04:06)
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return

(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&
d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==

r[7]);
}
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小時和分鐘,形如(12:03)
3、表單類
3.1 所有的表單的值都不能爲空
<input onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')alert('不能爲空!')">
3.2 多行文本框的值不能爲空。
3.3 多行文本框的值不能超過sMaxStrleng
3.4 多行文本框的值不能少於sMixStrleng
3.5 判斷單選框是否選擇。
3.6 判斷複選框是否選擇.
3.7 複選框的全選,多選,全不選,反選
3.8 文件上傳過程中判斷文件類型
4、字符類
4.1 判斷字符全部由a-Z或者是A-Z的字字母組成
<input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有錯')">
4.2 判斷字符由字母和數字組成。
<input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有錯')">
4.3 判斷字符由字母和數字,下劃線,點號組成.且開頭的只能是下劃線和字母
/^([a-zA-z_]{1})([\w]*)$/g.test(str)
4.4 字符串替換函數.Replace();
5、瀏覽器類
5.1 判斷瀏覽器的類型
window.navigator.appName
5.2 判斷ie的版本
window.navigator.appVersion
5.3 判斷客戶端的分辨率
window.screen.height; window.screen.width;

6、結合類
6.1 email的判斷。
function ismail(mail)
{
return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)
[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
}
6.2 手機號碼的驗證
6.3 身份證的驗證
function isIdCardNo(num)
{
if (isNaN(num)) {alert("輸入的不是數字!"); return false;}
var len = num.length, re;
if (len == 15)
re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
else if (len == 18)
re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
else {alert("輸入的數字位數不對!"); return false;}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&
D.getDate()==a[5];
}
else
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&
D.getDate()==a[5];
}
if (!B) {alert("輸入的身份證號 "+ a[0] +" 裏出生日期不對!"); return false;}
}
return true;
}


3.7 複選框的全選,多選,全不選,反選
<form name=hrong>
<input type=checkbox name=All onclick="checkAll('mm')">全選<br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/>
<input type=checkbox name=mm onclick="checkItem('All')"><br/><br/>


<input type=checkbox name=All2 onclick="checkAll('mm2')">全選<br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>

</form>

<SCRIPT LANGUAGE="javascript">
function checkAll(str)
{
var a = document.getElementsByName(str);
var n = a.length;
for (var i=0; i<n; i++)
a[i].checked = window.event.srcElement.checked;
}
function checkItem(str)
{
var e = window.event.srcElement;
var all = eval("document.hrong."+ str);
if (e.checked)
{
var a = document.getElementsByName(e.name);
all.checked = true;
for (var i=0; i<a.length; i++)
{
if (!a[i].checked){ all.checked = false; break;}
}
}
else all.checked = false;
}
</SCRIPT>

3.8 文件上傳過程中判斷文件類型
<input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])">

不斷地清空剪貼板:
<body onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)">


<script language="javascript" type="text/javascript">
file://先複製一樣東西,或者文本或者圖片
if(clipboardData.getData("Text")||clipboardData.getData("HTML")||
clipboardData.getData("URL"))
{
alert("有效行爲");
}
</script>
//保護頁面不被打印、複製,禁止Mouse各鍵
<SCRIPT LANGUAGE="JavaScript">wside=(window.sidebar)?true:false;
var w456=false;
function nrcie(){return false;};
function nrcns(e) { if(e.which==2||e.which==3) return false;
}if(document.layers) { document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=nrcns;
}document.oncontextmenu=nrcie;
document.onselectstart=new Function("return false");
function nsel(){if((document.layers)||wside){var qwe= document.getSelection();
if(qwe!="") {window.find(" ")};
setTimeout("nsel()",20);
}}nsel();
function ccd(){clipboardData.clearData();
};
function cce(){ccd();
setTimeout("cce()",30);
};
cce();
</SCRIPT>

<style media='print'>body {display:none}</style>


頁面上關於定位和長度的幾個屬性(原創)
首先是頁面定位,用CSS

position,這個下面有兩個屬性absolute(絕對定位)和relative(相對定位),絕對定位是指相對瀏覽器的位置地位,而相對定位和其他元素的位置有關係,位置不固定。

以下可以看一個例子,看了之後就明白了

abc<br/>

<div style="position:relative;left:1;top:100;color:green">absolute positioning with the current element<br/><span style="position:absolute;left:0;top:0;">aaaaaaaaa</span></div>

<div style="color:red">absolute positioning with the body<br/><span style="position:absolute;left:0;top:0">bbbbbbbbbbb</span></div>

<div style="color:blue">relative positioning with the body<span style="position:relative;left:-12;top:0">ccccccccccc</span></div>

而有些CSS屬性有時候需用position:absolute 之後纔有效,比如裁切的那個CSS等

接下來是一些元素的位置問題

就拿寬度來說

scrollwidth,clientwidth,offsetwidth

這些屬性都可以用在<body>,<div>等元素

第一個是包括滾動條所有在內的長度,第二個和第三個差不多,第三個是包括工具欄,菜單欄,狀態欄,滾動條寬度等在內的寬度,而第二個是去掉一些cellpadding等一些的額外的寬度。高度同這個,元素分別爲

scrollheight,clientheight,offsetheight

接下來是鼠標的位置

可以用event.clientX + document.body.scrollLeft得到橫的絕對位置

這裏面event.clientX 是相對屏幕的位置,而document.body.scrollLeft是網頁被橫向滾動條捲進去的寬度。

這裏可以看一個例子,代碼如下 把這個方法寫在<body>的onmousemove中,一目瞭然了。

<SCRIPT>
<!--
function statusreport() {

var tempx = event.clientX + document.body.scrollLeft;
var tempy = event.clientY + document.body.scrollTop;

window.status='在整個頁面中的X, Y座標 : ('+tempx+', '+tempy+') ; 在當前窗口中的X, Y座標 : ( '+event.clientX+', '+event.clientY +')';
}
//-->

</SCRIPT>

大梅的思路,我把他用到了判斷數據提交的時候有沒有重複記錄上了
<form name=form1>
<input name=a123>
<input name=b123>
<input name=c123>
<input name=d123>
<input name=e123>
<input name=f123 type=button onclick=check()>
</form>
<SCRIPT LANGUAGE="JavaScript">
<!--
Array.prototype.unique = function()
{
var a = {}; for(var i=0; i<this.length; i++)
{
if(typeof a[this[i]] == "undefined")
a[this[i]] = 1;
}
this.length = 0;
for(var i in a)
this[this.length] = i;
return this;
}
function check()
{
var ArrText = [document.form1.a123.value,document.form1.b123.value,document.form1.c123.value,document.form1.d123.value,document.form1.e123.value];
OldArr=ArrText.length;
NewArr=ArrText.unique().length;
if(OldArr==NewArr)
{
alert("無重複記錄");
}
else
{
alert("有重複記錄");
}
}
//-->
</SCRIPT>

Date.prototype.Format = function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
};

示例:
alert(new Date().Format("yyyy年MM月dd日"));
alert(new Date().Format("MM/dd/yyyy"));
alert(new Date().Format("yyyyMMdd"));
alert(new Date().Format("yyyy-MM-dd hh:mm:ss"));

http://jkisjk.vip.sina.com/html/
空間已經過期
代碼無法更新
示例僅提供思路:


常用前臺JS函數

自動加上驗證事件及日期按鈕(htc方式)

自動加上驗證事件及日期按鈕(js方式)

Ctrl + 鼠標 = 選中(20050214)

固定Div(20050214)

可以蓋住select的div(20041216)

可輸入下拉框(20041126)(相似高亮顯示,不相似移除)

可輸入下拉框(20041126)(相似高亮顯示,不相似不移除)

改變table的列寬(20041103)

可用鼠標移動和改變大小的table(20041029)

用鼠標移動TR(20050107)

固定Table首行(20041123)

固定Table首行首列(20041123)

Main Content Div

從服務器端取值並回填到頁面

動態明細示例

多功能multiple-update

一個簡單的IFRAME框架

調用客戶端發郵件程序

讀取客戶端文件

一級選擇左右移動及排庫

二級選擇左右移動

提交到特定大小的窗口

忠實顯示Text內容(不同於Pre標籤)

自動關閉Alert對話框

年月日選擇


提交到特定大小的窗口

忠實顯示Text內容(不同於Pre標籤)

自動關閉Alert對話框

年月日選擇


JS 對 cookie 操作
function setCookie(name,value)
{
var Days = 30; //此 cookie 將被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString();
}
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie=name +"="+cval+";expires="+exp.toGMTString();
}


<script type="text/javascript">
var _st = window.setTimeout;

/*重載window.setTimeout函數,引用的函數可以帶參數*/
window.setTimeout = function(fRef, mDelay) {
if(typeof fRef == 'function'){
var argu = Array.prototype.slice.call(arguments,2);
alert(typeof(argu));
var f = (function(){ fRef.apply(null, argu); });
return _st(f, mDelay);
}
return _st(fRef,mDelay);
}

function test(x){
alert(x);
}
window.setTimeout(test,3000,'fason');
</script>


<script language=javascript>
<!--
/*@cc_on @*/
/*@if (@_win32 && @_jscript_version>=5)
function window.confirm(str)
{
str=str.replace(/\'/g, "'&chr(39)&'").replace(/\r\n|\n|\r/g, "'&VBCrLf&'");
execScript("n = msgbox('"+ str +"', 257, '自定的的 confirm')", "vbscript");
return(n==1);
}
@end @*/
alert(confirm('sure?'));
// -->
</script>


//兩端去空格函數
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g,"");
}


<script>
//爲Number增加length方法
Number.prototype.length = function()
{
return String(this).length;
}

alert((11).length())
</script>

Ms XmlDom 異步裝載Xml文件
放在這裏,算作是資源備份吧。

<script>
var xmldoc;
function Load(){
xmldoc = new ActiveXObject("Msxml2.DOMDocument");
xmldoc.onreadystatechange = CheckState;
xmldoc.resolveExternals = false;
xmldoc.load(URL.value);
}
function CheckState(){
var state = xmldoc.readyState;
RESULTS.innerHTML += "加載狀態 = " + state + "<BR>"
if (state == 4){
var err = xmldoc.parseError;
if (err.errorCode != 0)
RESULTS.innerHTML += err.reason + "<BR>"
else
{
RESULTS.innerHTML += "加載成功。" + "<BR>"
alert(xmldoc.xml)
}
}
}
</script>
URL: <input type=text size=60 id=URL value="http://dotnet.aspx.cc/Rss.aspx">
<input type=button value="正在XML" onclick="Load()">
<div id=RESULTS style="color:red; font-weight:bold;"></div></script>


//帶中文字符串長度,一箇中文字長度爲2
String.prototype.lenB = function(){return this.replace(/[^\x00-\xff]/g,"**").length;}
document.all.tes1.value.lenB();

預判斷一下鏈接URL是否可用

<script language="javascript">
function getURL(url)
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET",url,false);
xmlhttp.send();
if (xmlhttp.readyState==4)
alert((xmlhttp.Status==200)?"存在":"不存在");
}
//user like this:
getURL("http://localhost/1.asp")
</script>


//將數字轉換成三位逗號分隔的樣式
function formatNum(s)
{
if(!/^(\+|-)?\d+(\.\d+)?$/.test(num)){alert("wrong!"); return num;}
var re = new RegExp().compile("(\\d)(\\d{3})(,|\\.|$)");
num += ""; while(re.test(num))
num = num.replace(re, "$1,$2$3")
return num;
}
alert(formatNum(-12345678.123));
alert(formatNum("12345678.123"));
alert(formatNum("10000000000000000000000000000000000000000"));

格式化日期:yyyy-m-d to yyyy-mm-dd

<SCRIPT LANGUAGE="JavaScript">
<!--
var str = "2005-3-2"; //2005-03-02
var str = "2005-3-22"; //2005-03-02
str = str.replace(/(\D)(\d)(?=\D|$)/g, "$10$2");
alert(str);
//-->
</SCRIPT>


表格中的行刪除功能,用checkbox選擇的
<script language="JavaScript">
<!--
var curRow=null;
function selectRow(tr1){
if(curRow)
curRow.bgColor="#FFFFFF";
tr1.bgColor="e7e7e7";
curRow=tr1;
}
function delTr(){
var chks=document.getElementsByName("chkDelete");
var tb=document.getElementById("tbContent");
for(var i=chks.length-1;i>=0;i--){
if(chks[i].checked){
tb.deleteRow(i);
}
}
}
//-->
</script>
<div align="center" style="overflow:auto; width:400; height:300px " id="divVector">
<table id="tbContent" border=1 width="300">
<script language="JavaScript">
<!--
for(var i=0;i<25;i++)
document.write('<tr height=20 onmouseover="selectRow(this)"><td algin="center"

width="20%"><input type="checkbox" name="chkDelete"></td><td width="80%"

align="center">'+i+'</td></tr>');
//-->
</script>
</table>
</div>
<input type="button" value=" 刪除選中的行 " onclick="delTr()">


yyyy-mm-dd格式日期完整校驗加提示
<script language="JavaScript">
<!--
function CheckDate(strDate){
var reg=/^(\d{4})([-])(\d{2})([-])(\d{2})/;
if(!reg.test(strDate)){
alert("日期格式不正確!\n正確格式爲:2004-01-01");
return false;
}
var ss=strDate.split("-");
var year=ss[0];
var month=ss[1];
var date=ss[2];
if(!checkYear(year)){return false;}
if(!checkMonth(month)){return false;}
if(!checkDate(year,month,date)){return false;}
return true;
}
function checkYear(year){
if(isNaN(parseInt(year))){alert("年份輸入有誤,請重新輸入!"); return false;}
else if(parseInt(year)<1950 || parseInt(year) >2050){ alert("年份應該在1950-2050之間

!"); return false}
else return true;
}
function checkMonth(month){
if(isNaN(parseInt(month))){alert("月份輸入有誤,請重新輸入!"); return false;}
else if(parseInt(month)<1 || parseInt(month) >12){ alert("月份應該在1-12之間!");

return false}
else return true;
}
function checkDate(year,month,date){
var daysOfMonth=CalDays(parseInt(year),parseInt(month));
if(isNaN(parseInt(date))){alert("日期輸入有誤,請重新輸入!"); return false;}
else if(parseInt(date)<0||parseInt(date)>daysOfMonth){ alert("日期應該在1

-"+daysOfMonth+"之間!"); return false;}
else return true;
}
function CalDays(year,month){
var date= new Date(year,month,0);
return date.getDate();
}
function isLeapYear(year){
if((year %4==0 && year %100!=0) || (year %400==0)) return true;
else return false;
}
alert(CheckDate("2007-02-29"));
//-->
</script>


<script language="JavaScript">
<!--
/* 函數名稱 : dateAfterDays
* 函數功能 : 返回與某日期相距N天(N個24小時)的日期
* 函數參數 : num number類型 可以爲正負整數或者浮點數
* 函數返回 : 新的日期
* 調用方法 : dateObject.dateAfterDays(num);
*/
Date.prototype.dateAfterDays=function(num){
if(typeof(num)!="number") throw new Error("Date(num)參數爲數值類型.",-1);
var date = this.valueOf();
date += num*24*3600*1000;
return new Date(date);
}
var dd= new Date();
alert(dd.dateAfterDays(1.5));
//-->
</script>


類似CSDN感興趣社區配置頁面中的checkbox選擇的功能
<script language="JavaScript">
<!--
function chkClk(obj){
var chks=document.getElementsByName(obj.name);
if(obj.flag=="main"){
for(var i=1;i<chks.length;i++)
chks[i].checked=obj.checked;
}
else{
for(var i=1;i<chks.length;i++)
if(chks[i].checked==false){
chks[0].checked=false;
break;
}
else{
if(i==chks.length-1) chks[0].checked=true;
}
}
}
//-->
</script>

<input type="checkbox" onclick="chkClk(this)" name="type1" flag="main">typetext
<li><input type="checkbox" onclick="chkClk(this)" name="type1">typetext</li>
<li><input type="checkbox" onclick="chkClk(this)" name="type1">typetext</li>
<br/><br/>
<input type="checkbox" onclick="chkClk(this)" name="type2" flag="main">typetext
<li><input type="checkbox" onclick="chkClk(this)" name="type2">typetext</li>
<li><input type="checkbox" onclick="chkClk(this)" name="type2">typetext</li>

[分享]三級無刷新全國省、市、縣程序完整下載,符加數據庫!!!

現在能下載下來了

測試地址:

www.bjcan.com/hengxing/area/index.htm

下載地址:

www.bjcan.com/hengxing/area.rar

其它收集技術文章地址:

www.bjcan.com/hengxing/more.asp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章