下面是csdn上的一位老兄(不是我)的代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>IP-like Input</title>
<style>
<!--
div.IPDiv       { background: #FFFFFF; width: 120; margin:0; font-family: Arial,Tahoma; font-size: 10pt; text-align: center; border-top: 2 ridge threedshadow; border-left: 2 ridge threedshadow; border-right: 2 inset threedhighlight; border-bottom: 2 inset threedhighlight }
input.IPInput   { width: 24; margin:0; font-family: Arial,Tahoma; font-size: 10pt; text-align: center; border-width: 0 }
-->
</style>
</head>
<body bgcolor=threedface>
像IP地址输入栏一样的文本框 
<script> 
IPlikeInputStr = ""; 
IPlikeInputStr += '<div class="IPDiv">'; 
for (i=0;i<4;i++) { 
  IPlikeInputStr += '<input class="IPInput" name="IPInput'+i+'" type="text" size="3" maxlength="3" onkeypress="keyHandle()" onkeyup="checkInput()">'+((i==3) ? '' : '.'); 

IPlikeInputStr += '</div>'; 
document.write(IPlikeInputStr); 
 
function keyHandle() { 
  if (event.keyCode<48||event.keyCode>57) { 
    event.returnValue = false; 
  } 

 
function checkInput() { 
  if (event.srcElement.name=="IPInput0") { 
    if (event.srcElement.value==0&&event.srcElement.value.length==3) { 
      event.srcElement.value="1"; 
      alert("请输入一个界于1和223之间的数值"); 
      event.srcElement.select(); 
    } 
    if (event.srcElement.value>223) { 
      event.srcElement.value="223"; 
      alert("请输入一个界于1和223之间的数值"); 
      event.srcElement.select(); 
    } 
  } 
   
  else { 
    if (event.srcElement.value>255) { 
      event.srcElement.value="255"; 
      alert("请输入一个界于0和255之间的数值") 
      event.srcElement.select(); 
    } 
  } 

</script>

解决方案 »

  1.   

    ip:
    ^(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])$
      

  2.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>IP-like Input</title>
    <style>
    <!--
    div.IPDiv       { background: #FFFFFF; width: 120; margin:0; font-family: Arial,Tahoma; font-size: 10pt; text-align: center; border-top: 2 ridge threedshadow; border-left: 2 ridge threedshadow; border-right: 2 inset threedhighlight; border-bottom: 2 inset threedhighlight }
    input.IPInput   { width: 24; margin:0; font-family: Arial,Tahoma; font-size: 10pt; text-align: center; border-width: 0 }
    -->
    </style>
    </head>
    <body bgcolor=threedface>
    像IP地址输入栏一样的文本框 
    <script> 
    IPlikeInputStr = ""; 
    IPlikeInputStr += '<div class="IPDiv">'; 
    for (i=0;i<4;i++) { 
      IPlikeInputStr += '<input class="IPInput" name="IPInput'+i+'" type="text" size="3" maxlength="3" onkeypress="keyHandle()" onkeyup="checkInput()">'+((i==3) ? '' : '.'); 

    IPlikeInputStr += '</div>'; 
    document.write(IPlikeInputStr); 
     
    function keyHandle() { 
      if (event.keyCode<48||event.keyCode>57) { 
        event.returnValue = false; 
      } 

     
    function checkInput() { 
      if (event.srcElement.name=="IPInput0") { 
        if (event.srcElement.value==0&&event.srcElement.value.length==3) { 
          event.srcElement.value="1"; 
          alert("请输入一个界于1和223之间的数值"); 
          event.srcElement.select(); 
        } 
        if (event.srcElement.value>223) { 
          event.srcElement.value="223"; 
          alert("请输入一个界于1和223之间的数值"); 
          event.srcElement.select(); 
        } 
      } 
       
      else { 
        if (event.srcElement.value>255) { 
          event.srcElement.value="255"; 
          alert("请输入一个界于0和255之间的数值") 
          event.srcElement.select(); 
        } 
      } 

    </script> 
     
    </body> 
     
    </html>