当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 关于IP验证的一个例子

Javascript
JS 参数传递的实际应用代码分析
prototype与jquery下Ajax实现的差别
用JS写的简单的计算器实现代码
javascript 数组操作实用技巧
JavaScript 中级笔记 第二章
JavaScript 中级笔记 第三章
JavaScript 中级笔记 第四章 闭包
JavaScript 中级笔记 第五章 面向对象的基础
Mootools 1.2教程 函数
Mootools 1.2教程 事件处理
通过Mootools 1.2来操纵HTML DOM元素
Mootools 1.2教程 设置和获取样式表属性
Mootools 1.2教程 输入过滤第一部分(数字)
Mootools 1.2教程 输入过滤第二部分(字符串)
Mootools 1.2教程 Fx.Tween的使用
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
MooTools 1.2中的Drag.Move来实现拖放
Mootools 1.2教程 正则表达式
Mootools 1.2教程 定时器和哈希简介
Mootools 1.2教程 滚动条(Slider)

Javascript 中的 关于IP验证的一个例子


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 258 ::
收藏到网摘: n/a

平时感觉Windows的IP输入框很好用,如果再网页中也能实现一定是很爽的事情。核心代码如下:

<script language="javascript">
function outStr(){
 if(document.all.ip1.value>0 && document.all.ip2.value>0 && document.all.ip3.value>0 && document.all.ip4.value>0){
  alert("你输入的IP地址为:" + document.all.ip1.value + "." + document.all.ip2.value + "." + document.all.ip3.value + "." + document.all.ip4.value);
 }//end if
}//end
function moveRight(obj){
 id = parseInt(obj.name.substr(2,1))
 if(id<4){
  eval("document.all.ip" + (id +1) + ".focus()");
 }else{
  outStr();
 }//end if
}
function moveLeft(obj){
 id = parseInt(obj.name.substr(2,1))
 if(id>1){
  eval("document.all.ip" + (id -1) + ".focus()");
 }//end if
}//end if
function Keypress(obj){
 var objInput = obj;
 cod = window.event.keyCode;
 
 if(cod==46 && (obj.value).length>0){//如果按了“.”并且有了一个字符,向右移动一次
  window.event.keyCode=0;
  moveRight(obj);
 }else if((obj.value).length==2 && (cod >= 48) && (cod <= 57)){//如果数字键并且够了两位
  if(cod<58){//
   obj.value = obj.value * 10 + cod - 48;
  }//end if
  window.event.keyCode = 0;
  moveRight(obj);
 }else{ //判断输入的是不是数字
  if ( !(((cod >= 48) && (cod <= 57)) || (cod == 13) || (cod == 37) || (cod == 39))){
   window.event.keyCode = 0;
  }//end if
 }//end if
}//end function keydown
function getCaretPos(obj){
 var currentRange=document.selection.createRange();
 var workRange=currentRange.duplicate();
 obj.select();
 var allRange=document.selection.createRange();
 var len=0;
 while(workRange.compareEndPoints("StartToStart",allRange)>0){
  workRange.moveStart("character",-1);
  len++;
 }
 currentRange.select();
 return len;
}//end
function KeyDown(obj){
 cod = window.event.keyCode;
 i = getCaretPos(obj); //光标位置
 n = obj.value.length; //字符长度
 
 if(cod==37 && i==0){//光标左移
  moveLeft(obj);
 }else if(cod==39 && i>=n){
  moveRight(obj);
 }else if(cod==8 && (obj.value=="" || i==0)){
  moveLeft(obj);
 }//end if
}//end
function checkDate(obj,max_num){
 if(obj.value>max_num || obj.value<0){
  window.event.keyCode = 0;
  alert(obj.value + "是无效的项目,只能输入0到" + max_num + "之间的数。");
  obj.value = max_num;
  obj.focus();
  obj.select();
 }//end if
}//end
</script>

测试网址:http://www.yemaweb.com/test/ipv1.0.htm
源代码全部在网页中,没有任何加密,希望使用时不要去掉出处。