完全可用的WEB IP地址輸入框

滿3位數\ 按空格鍵\方向鍵\回車鍵 自動跳到下一個 '.' 後面。

輸入必須是數字限制、0~255 範圍限制、

根據需要可能添加

地址有效性檢查、多播地址檢查等。

<style>
div.IPDiv{background:#ffffff;width:120;font-size:9pt;text-align:center;border:2 ridge threedshadow;border-right:inset threedhighlight;border-bottom:inset threedhighlight;
}
input.IPInput{width:24;font-size:9pt;text-align:center;border-width:0;
}
</style>
<script language=javascript> 
function getPos(obj) 
{ 
  obj.focus(); 
  var workRange=document.selection.createRange(); 
  obj.select(); 
  var allRange=document.selection.createRange(); 
  workRange.setEndPoint("StartToStart",allRange); 
  var len=workRange.text.length; 
  workRange.collapse(false); 
  workRange.select(); 
  return len; 
} 
  
  
function setCursor(obj,num) 
{ 
  range=obj.createTextRange();  
  range.collapse(true);  
  range.moveStart('character',num);  
  range.select(); 
} 
  
function keyDownEvent(obj) 
{ 
    code=event.keyCode; 
    if(!((code>=48&&code<=57)||(code>=96&&code<=105)||code==190||code==110||code==13||code==9||code==39||code==8||code==46||code==99||    code==37)) 
        event.returnValue=false; 
    if(code==13) 
        event.keyCode=9; 
    if(code==110||code==190) 
        if(obj.value) 
            event.keyCode=9; 
        else 
            event.returnValue=false; 
} 
  
function keyUpEvent(obj0,obj1,obj2) 
{ 
    if (obj1.value > 255) 
    { 
        alert("填寫範圍必須在 0 - 255間"); 
        obj1.value = obj1.value.substring(0, obj1.value.length - 1); 
        return; 
    } 
    code=event.keyCode 
     
    if(obj1.value.length>=3&&code!=37&&code!=39&&code!=16&&code!=9&&code!=13) 
        obj2.focus(); 
     
    if(code == 32) 
        obj2.focus(); 
  
    if(code == 8 && obj1.value.length == 0) 
    { 
        obj0.focus(); 
        setCursor(obj0,obj0.value.length); 
    } 
  
    if (code == 37 && (getPos(obj1) == 0)) 
    { 
        obj0.focus(); 
        setCursor(obj0,obj0.value.length); 
    } 
    if (code == 39 && (getPos(obj1) == obj1.value.length)) 
    { 
        obj2.focus(); 
    } 
} 
function keyUpEventForIp4(obj0,obj) 
{ 
    if (obj.value > 255) 
    { 
        alert("填寫範圍必須在 0 - 255間"); 
        obj.value = obj.value.substring(0, obj.value.length - 1); 
        return; 
    } 
    if(code == 8 && obj.value.length == 0) 
    { 
        obj0.focus(); 
        setCursor(obj0,obj0.value.length); 
    } 
    if (code == 37 && (getPos(obj) == 0)) 
    { 
        obj0.focus(); 
        setCursor(obj0,obj0.value.length); 
    } 
  
} 
function getipvalue(obj1,obj2,obj3,obj4,obj) 
{ 
    obj.value = obj1.value + "." + obj2.value + "." + obj3.value + "." + obj4.value; 
    alert(obj.value); 
} 
</script> 

<script language="JScript">
	var IPlikeInputStr=[];
	//for(var i=0;i<4;i++)IPlikeInputStr[i]="<input class=IPInput name=IPInput type=text size=3 maxlength=3 >"+(i==3?"":".");
	IPlikeInputStr[0]="<input class=IPInput name=ip1 type=text size=3 maxlength=3 οnkeydοwn=keyDownEvent(this) οnkeyup=keyUpEvent(ip1,ip1,ip2)>."
	IPlikeInputStr[1]="<input class=IPInput name=ip2 type=text size=3 maxlength=3 οnkeydοwn=keyDownEvent(this) οnkeyup=keyUpEvent(ip1,ip2,ip3)>."
	IPlikeInputStr[2]="<input class=IPInput name=ip3 type=text size=3 maxlength=3 οnkeydοwn=keyDownEvent(this) οnkeyup=keyUpEvent(ip2,ip3,ip4)>."
	IPlikeInputStr[3]="<input class=IPInput name=ip4 type=text size=3 maxlength=3 οnkeydοwn=keyDownEvent(this) οnkeyup=keyUpEventForIp4(ip3,ip4)>"
	document.write("<div class=IPDiv>"+IPlikeInputStr.join("")+"</div>");
</script>

 

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