正则表达式 IP 验证
这是我写的一个验证方式 但是有点问题
JScript codefunction isIp(ipAddress){
var patrn = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(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])$/;
if(!patrn.exec(ipAddress))
{
//window.alert('地址不正确!');
return false;
}
else{
return true;
}
}
当输入 01.10.10.151 、10.01.151.10 等会返回TRUE 我的意思就是怎么修改 对于每个每位 的首位不能为0.如果为0返回FALSE
问题点数:200 回复次数:46 显示所有回复显示星级回复显示楼主回复 修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
cgisir
老韩
等级:
可用分等级:富农
总技术分:11960
总技术分排名:1572
发表于:2008-11-04 17:17:371楼 得分:10
HTML code<script type="text/javascript">
var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]$/;
var str = '1.10.10.151'
var str2 = '01.10.10.151';
alert(reg.test(str)); // true;
alert(reg.test(str2)); // false;
</script >
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
cgisir
老韩
等级:
可用分等级:富农
总技术分:11960
总技术分排名:1572
发表于:2008-11-04 17:18:532楼 得分:2
上面少点东西,考错了, 以这个为准
HTML code<script type="text/javascript">
var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]?$/;
var str = '1.10.10.151'
var str2 = '01.10.10.151';
alert(reg.test(str)); // true;
alert(reg.test(str2)); // false;
</script >
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xiao_fan85
小帆
等级:
可用分等级:贫农
总技术分:112
总技术分排名:85627
发表于:2008-11-04 17:20:063楼 得分:5
string reg =/^((1?\d?\d|(2([0-4]\d|5[0-5])))\.){3}(1?\d?\d|(2([0-4]\d|5[0-5])))$/
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
w161134025
等级:
可用分等级:乞丐
总技术分:1613
总技术分排名:13156
发表于:2008-11-04 17:26:284楼 得分:5
//判断邮箱正则表达式 true 说明IP正确 false说明不正确
function IsEmail(str)
{
var reg=/^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/;//匹配IPP的
if(str.match(reg))
{
return true;
}
else
{
return false;
}
}
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
ojlovecd
本命大限在田宅宫化忌
等级:
可用分等级:富农
总技术分:24383
总技术分排名:464
发表于:2008-11-04 17:28:115楼 得分:5
^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-04 17:31:106楼 得分:0
我说的不是很清楚
所谓首位 的意思说 每个位置上 不能出现 01 03 012 035这种
可以是 0.0.0.0 1.0.0.0 255.255.255.0
192.168.0.1 等等 这些是可以出现的
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-04 17:39:217楼 得分:0
再补充一下
举例说明吧
例如拿这个 说明 A.B.C.D
要求 A是 1 <=A <=223
B是 0 <=B <=255
C是 0 <=C <=255
D是 1 <=D <255
并且 A,B,C,D 每个数字如果大于0 不能出现上面所说的情况 01 010 015 等这种情况!
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
varlj
灰色逻辑 要做会说汪汪的老鼠
等级:
可用分等级:富农
总技术分:5310
总技术分排名:4162
发表于:2008-11-04 18:23:048楼 得分:5
^(([1-9]\d?|1\d{2}|2[0-5]{2})\.)((\d{1,2}|1\d{2}|2[0-5]{2})\.){2}(1\d{2}|2[0-5]{2}|\d{1,2})$
我测试了几个,暂时没发现问题
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
java2000_net
老紫竹
等级:
可用分等级:掌柜
总技术分:98696
总技术分排名:53
2
2
9
发表于:2008-11-04 18:55:579楼 得分:5
JAVA正则表达式验证IP地址
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
kindwell
kind
等级:
可用分等级:中农
总技术分:1490
总技术分排名:14214
发表于:2008-11-04 20:27:3110楼 得分:1
引用 7 楼 xql80329 的回复:
再补充一下
举例说明吧
例如拿这个 说明 A.B.C.D
要求 A是 1 <=A <=223
B是 0 <=B <=255
C是 0 <=C <=255
D是 1 <=D <255
并且 A,B,C,D 每个数字如果大于0 不能出现上面所说的情况 01 010 015 等这种情况!
如果按照这个要求,那么0.0.0.0岂不是不可以?
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-05 08:43:2511楼 得分:0
对 不允许出现 四个0
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xiaoK
兼职软件开发
等级:
可用分等级:乞丐
总技术分:2720
总技术分排名:8105
发表于:2008-11-05 10:21:3612楼 得分:1
引用 10 楼 kindwell 的回复:
引用 7 楼 xql80329 的回复:
再补充一下
举例说明吧
例如拿这个 说明 A.B.C.D
要求 A是 1 <=A <=223
B是 0 <=B <=255
C是 0 <=C <=255
D是 1 <=D <255
并且 A,B,C,D 每个数字如果大于0 不能出现上面所说的情况 01 010 015 等这种情况!
如果按照这个要求,那么0.0.0.0岂不是不可以?
废话,0.0.0.0当然不是合法的IP地址咯
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-05 11:44:3913楼 得分:0
现在还没有正确答案哦
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-05 11:46:3714楼 得分:0
JS高手呢
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
Free_Wind22
...
等级:
可用分等级:富农
总技术分:2156
总技术分排名:10168
发表于:2008-11-05 11:57:0515楼 得分:1
^(25[0-5]|2[0-4]\d?|10\d?|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|10\d?|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|10\d?|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|10\d?|[1-9]\d?)$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
Free_Wind22
...
等级:
可用分等级:富农
总技术分:2156
总技术分排名:10168
发表于:2008-11-05 12:00:3716楼 得分:10
上面的错了,这个应该可以...
^(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
rcom10002
KNIGHTRCOM
等级:
可用分等级:掌柜
总技术分:2370
总技术分排名:9222
发表于:2008-11-05 13:29:5817楼 得分:1
^(2([0-4]\d|5[0-5])|[0-1]?\d{1,2})(\.(2([0-4]\d|5[0-5])|[0-1]?\d{1,2})){3}$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
lizhimin0310
送春来
等级:
可用分等级:中农
总技术分:768
总技术分排名:24379
发表于:2008-11-05 13:52:0618楼 得分:1
引用 16 楼 Free_Wind22 的回复:
上面的错了,这个应该可以...
^(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)$
d
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
mjjzg
mjjzg
等级:
可用分等级:富农
总技术分:9461
总技术分排名:2400
发表于:2008-11-05 14:07:1919楼 得分:1
路过,顶一下,以表支持
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-05 14:35:1820楼 得分:0
大家可以看看WINDOWS 的 IP设置 和 网关 子网掩码设置 的条件是不一样的
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xin198404
等级:
可用分等级:贫农
总技术分:102
总技术分排名:90355
发表于:2008-11-05 15:50:2621楼 得分:80
function isIP(strIP)
{
var re=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; //IP正则
if(re.test( strIP ))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
//首位必需为1-223之间除127之外的任一数字,末位不能为0或255
if((n1>0 && n1 <224 && n1!=127) && (n2>=0 && n2 <=255) && (n3>=0 && n3 <=255) && ( n4>0 && n4 <255))
{
return true;
}
}
return false;
}
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xin198404
等级:
可用分等级:贫农
总技术分:102
总技术分排名:90355
发表于:2008-11-05 15:52:2722楼 得分:1
//掩码合法性验证
function isMask(strMask)
{
//var reg=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/; //IP正则
var reg=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;//IP正则
if(reg.test(strMask))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
if(isNaN(n1) || isNaN(n2) || isNaN(n3) || isNaN(n4))
{
return false;
}
if( (n1>255 || n1 <0)|| (n2>255 || n2 <0) || (n3>255 || n3 <0) || (n4>255 || n4 <0))
{
return false;
}
var tmp = (n1*Math.pow(2,24))+(n2*Math.pow(2,16))+(n3*Math.pow(2,8))+n4;
if(tmp < Math.pow(2,31))
{
return false;
}
else
{
tmp -= Math.pow(2,31);
//后续位必须为连续的1
for (i = 30; i > 1; i --)
{
if (tmp == 0)
{
break;
}
else if(tmp < Math.pow(2,i))
{
return false;
}
else
{
tmp -= Math.pow(2,i);
}
}
}
}
else//!reg.match( strMask)
{
return false;
}
return true;
}
以上两个函数是一经常用到了,已经过多次测试应该没问题的
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-05 16:06:4523楼 得分:0
引用 21 楼 xin198404 的回复:
function isIP(strIP)
{
var re=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; //IP正则
if(re.test( strIP ))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
//首位必需为1-223之间除127之外的任一数字,末位不能为0或255
if((n1>0 && n1 <224 && n1!=127) && (n2>=0 && n2 <=255) && (n3…
这个有问题吧 随便测试一个 都不正确
222.1.1.100返回false
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xin198404
等级:
可用分等级:贫农
总技术分:102
总技术分排名:90355
发表于:2008-11-05 16:44:2324楼 得分:1
不会哦
我这边执行结果是true哦?
你可以用最简单的代码测试:
<html>
<head>
<title>test </title>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache" >
<meta http-equiv="Cache-Control" content="must-revalidate">
<meta http-equiv="Expires" content="-1">
</head>
<body>
</body>
<script language="JavaScript">
function isIP(strIP)
{
var re=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; //IP正则
if(re.test( strIP ))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
//首位必需为1-223之间除127之外的任一数字,末位不能为0或255
if((n1>0 && n1 <224 && n1!=127) && (n2>=0 && n2 <=255) && (n3>=0 && n3 <=255) && ( n4>0 && n4 <255))
{
return true;
}
}
return false;
}
alert(isIP("222.1.1.100"));
</script>
</html>
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
kindwell
kind
等级:
可用分等级:中农
总技术分:1490
总技术分排名:14214
发表于:2008-11-05 17:38:3925楼 得分:1
引用 12 楼 xiaoK 的回复:
引用 10 楼 kindwell 的回复:
引用 7 楼 xql80329 的回复:
再补充一下
举例说明吧
例如拿这个 说明 A.B.C.D
要求 A是 1 <=A <=223
B是 0 <=B <=255
C是 0 <=C <=255
D是 1 <=D <255
并且 A,B,C,D 每个数字如果大于0 不能出现上面所说的情况 01 010 015 等这种情况!
如果按照这个要求,那么0.0.0.0岂不是不可以?
废话,0.0.0.0当然…
引用 6 楼 xql80329 的回复:
我说的不是很清楚
所谓首位 的意思说 每个位置上 不能出现 01 03 012 035这种
可以是 0.0.0.0 1.0.0.0 255.255.255.0
192.168.0.1 等等 这些是可以出现的
我是看到楼主的这段话才提出那个问题的,你没有看全部的帖子说这话
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
sagezk
SAGEZK
等级:
可用分等级:富农
总技术分:15481
总技术分排名:955
发表于:2008-11-05 20:42:1126楼 得分:5
JScript codefunction isIP(ipAddress) {
var regxip = /((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
return regxip.test(ipAddress);
}
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-06 08:37:3427楼 得分:0
我 把最终答案 写出来:
这个结果是结合 21 楼得出的
JScript code/**
* 判断是否为IP
*/
function isIp(ipAddress){
var re=/^(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)$/;
if(re.test( ipAddress ))
{
var n1 = parseInt(RegExp.$1);
var n2 = parseInt(RegExp.$2);
var n3 = parseInt(RegExp.$3);
var n4 = parseInt(RegExp.$4);
//首位必需为1-223之间除127之外的任一数字,末位不能为0或255
if((n1>0 && n1 <224 && n1!=127) && (n2>=0 && n2 <=255) && (n3>=0 && n3 <=255) && ( n4>0 && n4 <255))
{
return true;
}
}
return false;
}
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-06 08:38:5928楼 得分:0
顺便说一下21 楼 写的还有些小漏洞 就是对于 10.012.10.112 这种格式没进行控制
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-06 08:41:3829楼 得分:0
网上好多关于IP 的验证 并不严谨
我上面给出的 应给是比较完美了 但是主要是顶我帖的人的功劳!
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
fendy5201
會飛嘚漁
等级:
可用分等级:中农
总技术分:625
总技术分排名:28837
发表于:2008-11-06 09:01:0230楼 得分:1
采用这个试试看 var reg = /^(?:[1-2][0-5]?[0-5]?\.){3}[1-2][0-5]?[0-5]?$/;
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
xql80329
技术空间:hi.baidu.com/xhz12345
等级:
可用分等级:中农
总技术分:2097
总技术分排名:10358
发表于:2008-11-06 09:09:4931楼 得分:0
上午刚追加了100分
下午下班的时候 结贴!!!!!!!!!
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
luxu001207
? 笨笨
等级:
可用分等级:富农
总技术分:22471
总技术分排名:524
发表于:2008-11-06 09:14:2632楼 得分:5
JScript code
var reg=/^[1-9]\d{2}\.(0|([1-9]\d{2}))\.(0|([1-9]\d{2}))\.(0|([1-9]\d{2}))$/;
alert(reg.test("127.0.0.1"));
alert(reg.test("172.016.051.100"));
alert(reg.test("172.16.51.100"));
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
syukugai
syukugai
等级:
可用分等级:中农
总技术分:5136
总技术分排名:4491
发表于:2008-11-06 09:26:0433楼 得分:1
^([1-9]|[1-9]\d|1\d{1,2}|2[01]\d|22[0-3])(.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-6])){2}.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-6])$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
syukugai
syukugai
等级:
可用分等级:中农
总技术分:5136
总技术分排名:4491
发表于:2008-11-06 09:29:3034楼 得分:1
改进了一点
^([1-9]\d?|1\d{1,2}|2[01]\d|22[0-3])(.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-6])){2}.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-6])$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
sagezk
SAGEZK
等级:
可用分等级:富农
总技术分:15481
总技术分排名:955
发表于:2008-11-06 09:30:5335楼 得分:1
引用 27 楼 xql80329 的回复:
我 把最终答案 写出来:
这个结果是结合 21 楼得出的
JScript code/**
* 判断是否为IP*/functionisIp(ipAddress){varre=/^(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?|0)\.(25[0-5]|2[0-4]\d?|1\d{2}|[1-9]\d?)$/;if(re.test( ipAddress ))
{varn1=parseInt(RegExp.$1);varn2=parseInt(RegExp.$2);varn3=parseInt(RegExp.$3);varn4=parseInt(…
用得着这么麻烦吗?你试试我 26 楼的方法。
JScript codefunction isIP(ipAddress) {
var regxip = /((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
return regxip.test(ipAddress);
}
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
syukugai
syukugai
等级:
可用分等级:中农
总技术分:5136
总技术分排名:4491
发表于:2008-11-06 09:32:4036楼 得分:1
不好意思,之前写错了个地方。
^([1-9]\d?|1\d{1,2}|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-6])){2}\.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-6])$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
syukugai
syukugai
等级:
可用分等级:中农
总技术分:5136
总技术分排名:4491
发表于:2008-11-06 09:36:1237楼 得分:1
又写错了。
^([1-9]\d?|1\d{1,2}|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-5])){2}\.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-4])$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
sagezk
SAGEZK
等级:
可用分等级:富农
总技术分:15481
总技术分排名:955
发表于:2008-11-06 10:11:4338楼 得分:1
如果:首位必需为1-223之间除127之外的任一数字,末位不能为0或255,那就再改一下,如下:
JScript codefunction isIP(ipAddress) {
var regxip = /(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){2}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
if (regxip.test(ipAddress)) {
var b1 = parseInt(RegExp.$1);
var b2 = parseInt(RegExp.$2);
return b1 >= 1 && b1 <= 223 && b1 != 127 && b2 != 0 && b2 != 255;
}
return false;
}
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
sagezk
SAGEZK
等级:
可用分等级:富农
总技术分:15481
总技术分排名:955
发表于:2008-11-06 10:13:1039楼 得分:30
测试代码:
HTML code<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IP checker</title>
<script type="text/javascript">
//<![CDATA[
function isIP(ipAddress) {
var regxip = /(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){2}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)/;
if (regxip.test(ipAddress)) {
var b1 = parseInt(RegExp.$1);
var b2 = parseInt(RegExp.$2);
return b1 >= 1 && b1 <= 223 && b1 != 127 && b2 != 0 && b2 != 255;
}
return false;
}
//]]>
</script>
</head>
<body>
<div>
<input type="text" id="txtip" name="ip" value="" />
<input type="button" id="btnck" value="Check" onclick="alert(isIP(document.getElementById('txtip').value));" />
</div>
</body>
</html>
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
syukugai
syukugai
等级:
可用分等级:中农
总技术分:5136
总技术分排名:4491
发表于:2008-11-06 10:41:4140楼 得分:5
引用 37 楼 syukugai 的回复:
^([1-9]\d?|1\d{1,2}|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-5])){2}\.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-4])$
楼主有要求首位不能为127?
如果有的话还要再麻烦一点。
^([1-9]\d?|1[013-9]\d|12[0-689]|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{1,2}|2[0-4]\d|25[0-5])){2}\.([1-9]\d?|1\d{1,2}|2[0-4]\d|25[0-4])$
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
spyking945
CSDN
等级:
可用分等级:中农
总技术分:1501
总技术分排名:14010
发表于:2008-11-06 10:44:5041楼 得分:1
mark 以后用
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
sagezk
SAGEZK
等级:
可用分等级:富农
总技术分:15481
总技术分排名:955
发表于:2008-11-06 11:51:0442楼 得分:5
再优化一下:
JScript codefunction checkIP(ipstr) {
var regxip = /^(?:22[0-3]|2[01]\d|12[0-689]|1[013-9]\d|[1-9]\d|[1-9])\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-4]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])$/;
return regxip.test(ipstr);
}
测试代码:
HTML code<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IP checker</title>
<script type="text/javascript">
//<![CDATA[
function checkIP(ipstr) {
var regxip = /^(?:22[0-3]|2[01]\d|12[0-689]|1[013-9]\d|[1-9]\d|[1-9])\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-4]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])$/;
return regxip.test(ipstr);
}
//]]>
</script>
</head>
<body>
<div>
<input type="text" id="txtip" name="ip" value="" />
<input type="button" id="btnok" value="Check" onclick="alert(checkIP(document.getElementById('txtip').value));" />
</div>
</body>
</html>
修改 删除 举报 引用 回复
加为好友
发送私信
在线聊天
syukugai
syukugai
等级:
可用分等级:中农
总技术分:5136
总技术分排名:4491
发表于:2008-11-06 12:05:5143楼 得分:3
^([1-9]\d?|1[013-9]\d|12[0-689]|2[01]\d|22[0-3])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){2}\.([1-9]\d?|1\d{2}|2[0-4]\d|25[0-4])$
加支付宝好友偷能量挖...