Chinaunix首页 | 论坛 | 博客
  • 博客访问: 231713
  • 博文数量: 51
  • 博客积分: 113
  • 博客等级: 民兵
  • 技术积分: 285
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-14 17:31
文章分类

全部博文(51)

文章存档

2012年(51)

分类: C/C++

2012-05-09 18:43:35

(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])

在网上看到用的正则表达式是上面这个,但是用这个表达式的时候如果字符串中出现象xxx.xxx.xxx.xxx.xxx他仍然会进行匹配,并且取的是xxx.xxx.xxx.xxx
怎么样把这个正则表达式改进一下让他不匹配这样的字符串呢?谢谢。。。










新建网页   1






   
s





IP验证2:


IP   地址输入框   v1.0


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


BODY   {
BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   BORDER-BOTTOM:   0px;   BACKGROUND-COLOR:   #d6d3ce
}



style= "BORDER-RIGHT:   menu   1px   solid;   BORDER-TOP:   menu   1px   solid;   MARGIN:   10px;   BORDER-LEFT:   menu   1px   solid;   BORDER-BOTTOM:   menu   1px   solid "  
bgColor=menu   scroll=no>
    border=0>
   
       
       
       
       
   
       
       
       
       
   
       
       
                        cellPadding=0   border=0>
               
               
                                            onkeydown=KeyDown(this)   onblur=checkDate(this,223);  
                        style= "BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   WIDTH:   22px;   BORDER-BOTTOM:   0px;   HEIGHT:   12px "  
                        maxLength=3   name=ip1>
                    .
                                            onkeydown=KeyDown(this)   onblur=checkDate(this,255);  
                        style= "BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   WIDTH:   22px;   BORDER-BOTTOM:   0px;   HEIGHT:   12px "  
                        maxLength=3   size=3   name=ip2>
                    .
                                            onkeydown=KeyDown(this)   onblur=checkDate(this,255);  
                        style= "BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   WIDTH:   22px;   BORDER-BOTTOM:   0px;   HEIGHT:   12px "  
                        maxLength=3   size=3   name=ip3>
                    .
                                            onkeydown=KeyDown(this)   onblur=checkDate(this,255);outStr();  
                        style= "BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   WIDTH:   22px;   BORDER-BOTTOM:   0px;   HEIGHT:   12px "  
                        maxLength=3   size=3   name=ip4>
       
       
   
       
       
       
       
   
       
       
       
       



IP验证:







IP地址输入


IP地址输入

.
.
.






    对我有用[0]
    丢个板砖[0]
    引用
    举报
    管理
    TOP

精华推荐:JavaScript 仿Apple滑动条(拖动条)产品展示效果

    lawdoor用户头像
    lawdoor
    (【风语者】)
    等 级:

    2

    
#2楼 得分:0回复于:2004-06-09 23:32:25
IP验证2:


IP   地址输入框   v1.0


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


BODY   {
BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   BORDER-BOTTOM:   0px;   BACKGROUND-COLOR:   #d6d3ce
}



style= "BORDER-RIGHT:   menu   1px   solid;   BORDER-TOP:   menu   1px   solid;   MARGIN:   10px;   BORDER-LEFT:   menu   1px   solid;   BORDER-BOTTOM:   menu   1px   solid "  
bgColor=menu   scroll=no>
    border=0>
   
       
       
       
       
   
       
       
       
       
   
       
       
                        cellPadding=0   border=0>
               
               
                                            onkeydown=KeyDown(this)   onblur=checkDate(this,223);  
                        style= "BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   WIDTH:   22px;   BORDER-BOTTOM:   0px;   HEIGHT:   12px "  
                        maxLength=3   name=ip1>
                    .
                                            onkeydown=KeyDown(this)   onblur=checkDate(this,255);  
                        style= "BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   WIDTH:   22px;   BORDER-BOTTOM:   0px;   HEIGHT:   12px "  
                        maxLength=3   size=3   name=ip2>
                    .
                                            onkeydown=KeyDown(this)   onblur=checkDate(this,255);  
                        style= "BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   WIDTH:   22px;   BORDER-BOTTOM:   0px;   HEIGHT:   12px "  
                        maxLength=3   size=3   name=ip3>
                    .
                                            onkeydown=KeyDown(this)   onblur=checkDate(this,255);outStr();  
                        style= "BORDER-RIGHT:   0px;   BORDER-TOP:   0px;   BORDER-LEFT:   0px;   WIDTH:   22px;   BORDER-BOTTOM:   0px;   HEIGHT:   12px "  
                        maxLength=3   size=3   name=ip4>
       
       
   
       
       
       
       
     
阅读(934) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~