满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>