怎样用正则表达式匹配一个合法的IP 地址????

时间:2021-03-26 18:48:10
我想用正则表达式匹配一个合法的IP  ,
但是不知道怎么写。。
请高手指点一下。

7 个解决方案

#1


http://www.google.com/search?q=ip+%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&hl=zh-CN&newwindow=1

#2


ip="192.157.4.4"
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g  //匹配IP地址的正则表达式
alert(re.test(ip))

#3


不对呀。。
如果用户输入的: 555.255.284.255
这个式非法的IP 。
就没有办法匹配出来了???

#4


<script>
ip="555.255.284.255"
re=/^(([3-9]\d?|[01]\d{0,2}|2\d?|2[0-4]\d|25[0-5])\.){3}([3-9]\d?|[01]\d{0,2}|2\d?|2[0-4]\d|25[0-5])/

alert(re.test(ip))
</script>

#5


无法判断ip:="61.255.204.259"

#6


你这样的话,用正则表达式还太麻烦了,过多的条件,写出来的正则表达式也太稀里哗啦。。。

var ip="61.255.204.259";
if(ip.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/g))
   alert("Error Ip address format.");

var parts=ip.split(".");
for(var i=0,l=parts.length;i<l;i++){
   if(parseInt(parts[i],10)>255){
      alert(("Error Ip address format.");
      break;
   }
}

#7


验证ip 

str=document.RegExpDemo.txtIP.value;
if(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test(str)==false)
{
 window.alert('错误的IP地址格式');
 document.RegExpDemo.txtIP.select();
 document.RegExpDemo.txtIP.focus();
 return;
}
if(RegExp.$1<1 || RegExp.$1>254||RegExp.$2<0||RegExp.$2>254||RegExp.$3<0||RegExp.$3>254||RegExp.$4<1||RegExp.$4>254)
{
 window.alert('错误的IP地址');
 document.RegExpDemo.txtIP.select();
 document.RegExpDemo.txtIP.focus();
 return;
}
//剔除 如  010.020.020.03 前面 的0 
var str=str.replace(/0(\d)/g,"$1");
str=str.replace(/0(\d)/g,"$1");
window.alert(str);

#1


http://www.google.com/search?q=ip+%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&hl=zh-CN&newwindow=1

#2


ip="192.157.4.4"
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g  //匹配IP地址的正则表达式
alert(re.test(ip))

#3


不对呀。。
如果用户输入的: 555.255.284.255
这个式非法的IP 。
就没有办法匹配出来了???

#4


<script>
ip="555.255.284.255"
re=/^(([3-9]\d?|[01]\d{0,2}|2\d?|2[0-4]\d|25[0-5])\.){3}([3-9]\d?|[01]\d{0,2}|2\d?|2[0-4]\d|25[0-5])/

alert(re.test(ip))
</script>

#5


无法判断ip:="61.255.204.259"

#6


你这样的话,用正则表达式还太麻烦了,过多的条件,写出来的正则表达式也太稀里哗啦。。。

var ip="61.255.204.259";
if(ip.match(/(\d+)\.(\d+)\.(\d+)\.(\d+)/g))
   alert("Error Ip address format.");

var parts=ip.split(".");
for(var i=0,l=parts.length;i<l;i++){
   if(parseInt(parts[i],10)>255){
      alert(("Error Ip address format.");
      break;
   }
}

#7


验证ip 

str=document.RegExpDemo.txtIP.value;
if(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.test(str)==false)
{
 window.alert('错误的IP地址格式');
 document.RegExpDemo.txtIP.select();
 document.RegExpDemo.txtIP.focus();
 return;
}
if(RegExp.$1<1 || RegExp.$1>254||RegExp.$2<0||RegExp.$2>254||RegExp.$3<0||RegExp.$3>254||RegExp.$4<1||RegExp.$4>254)
{
 window.alert('错误的IP地址');
 document.RegExpDemo.txtIP.select();
 document.RegExpDemo.txtIP.focus();
 return;
}
//剔除 如  010.020.020.03 前面 的0 
var str=str.replace(/0(\d)/g,"$1");
str=str.replace(/0(\d)/g,"$1");
window.alert(str);