站长论坛

标题: 关于IP验证的一个例子 [打印本页]

作者: webptr    时间: 2007-10-6 09:27
标题: 关于IP验证的一个例子
平时感觉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
源代码全部在网页中,没有任何加密,希望使用时不要去掉出处。
作者: webptr    时间: 2007-10-6 09:27
检测IP地址的javascript

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME=\"Generator\" CONTENT=\"EditPlus\">
<META NAME=\"Author\" CONTENT=\"\">
<META NAME=\"Keywords\" CONTENT=\"\">
<META NAME=\"Description\" CONTENT=\"\">
</HEAD>

<BODY>
<script language=\"javascript\">
function ipCheck()
{
ipValue=document.form1.ipaddr.value;
var reg = /^\\d{1,3}(\\.\\d{1,3}){3}$/;
if(reg.test(ipValue))
{
var ary = ipValue.split(\'.\');
for(key in ary)
{
if(parseInt(ary[key]) > 255)
{
alert(\"IP error\");
document.form1.ipaddr.focus();
return false;
}
}
}else{
alert(\"IP error\");
document.form1.ipaddr.focus();
return false;
}
}
</script>
<form method=\"post\" action=\"\" onsubmit=\"return ipCheck()\" name=form1>
<input type=text name=ipaddr>
<INPUT TYPE=\"submit\">
</form>
</BODY>
</HTML>




欢迎光临 站长论坛 (http://www.tzlink.com/bbs/) Powered by Discuz! X3.2