判断字符串是否是合法的IP地址,怎样判断ip地址的类型
如何解决写爬虫IP受阻的问题?立即使用。
要实现这个算法,首先要知道IP地址应该基于什么条件:
(推荐教程:java入门)
判断原则:
确定字符长度是否在7到15位数之间(0.0.0-255.255.255.255.255.255)
可以用小数点分成四段吗?
每一段都是数字吗?
每个段号是否在0到255之间?
只有满足以上四个条件,才是IP的正确格式。
实现这种算法有两种简单的方法,一种是常规判断,另一种是正则表达式判断。下面两种方法是以函数的形式实现的,可以直接复制使用。输入参数是要判断的字符串,以及返回的布尔变量。
(视频教程推荐:java视频教程)
常规方法判断
//确定字符是否是IP
public boolean is correct IP(String IP String){
//1,判断是否在7-15位数之间(0.0.0-255.255.255.255.255)
if(IP string . length()7 IP string . length()15){
返回false
}
//2.确定是否可以用小数点分成四段。
string[]IP array=ipstring . split( \ \ . ));
if(iparay . length!=4) {
返回false
}
for(int I=0;i ipArray.lengthi ) {
//3.确定每个段落是否是数字。
尝试{
int number=integer . parse int(IP array[I]);
//4.确定每段数字是否在0到255之间。
if (number 0number255) {
返回false
}
} catch(异常e) {
返回false
}
}
返回true
}正则表达式方法判断
//使用正则表达式判断字符是否为IP
public boolean is correct IP 2(String IP String){
String ipRegex=\\d{1,3}\\。\\d{1,3}\\。\\d{1,3}\\。\\d{1,3 } ;//IP地址的正则表达式
//如果前三个判断都满足,判断每个数字是否在0到255之间。
if (ipString.matches(ipRegex)) {
string[]IP array=ipstring . split( \ \ . ));
for(int I=0;i ipArray.lengthi ) {
int number=integer . parse int(IP array[I]);
//4.确定每段数字是否在0到255之间。
if (number 0number255) {
返回false
}
}
返回true
}
否则{
返回false//如果不匹配正则表达式,则返回false
}
}测试结果:
这就是java如何判断一个字符串是否是IP地址的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。