导航:首页 > 编程语言 > javaip地址判断

javaip地址判断

发布时间:2023-05-30 07:37:53

java编写正则表达式,判断给定的是否是一个合法的IP地址怎么写

正则表达式匹配ip地址,实际上就是分别判断每个点直接的数字是否符合规范。
package com;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegex {
public static boolean isboolIP(String ipAddress){
String ip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})";
Pattern pattern = Pattern.compile(ip);
Matcher matcher = pattern.matcher(ipAddress);
return matcher.matches();
}
/** * @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String ipAddress1 = "10.";
String ipAddress2 = "0.0.0.0";
String ipAddress3 = "255.255.255.255";
String ipAddress4 = "192.168.2.1";
String ipAddress5 = "26445687";
String ipAddress6 = "nihao";
String ipAddress7 = "你好!!";
if(isboolIP(ipAddress1)){
System.out.println("IP正确");
}else{
System.out.println("IP错误");
} if(isboolIP(ipAddress2)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");
} if(isboolIP(ipAddress3)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");
}
if(isboolIP(ipAddress4)){
System.out.println("IP正确"); }else{
System.out.println("IP错误");

② JAVA判断正确ip号

没必要判断的那么细,用正则表达蠢埋衫液空式

publicclass${
publicstaticvoidmain(String[]args){

Stringstr1="a.b.c.d";
Stringstr2="1.1.1.1";
Stringstr3="1.1.1.256";
Stringstr4="192.168.1.1";
Stringregex="(2[5][0-5]|2[0-4]\d|1\d{2}|\d{1,2})\.(25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})\.(25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})\.(25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})";

带腔System.out.println(str1.matches(regex));
System.out.println(str2.matches(regex));
System.out.println(str3.matches(regex));
System.out.println(str4.matches(regex));
}
}

false
true
false
true

③ 用java判断一个字符串是否是ip 如果是是哪类ip,怎么做

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class IpTest {
public static void main(String[] args) {
new IpTest().go();
}

/**
* 程序主要逻辑
*/

public void go() {
String IP = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
IP = br.readLine();
} catch (IOException ex) {
ex.printStackTrace();
}

//String IP="192.168.0.100/255.255.255.0";
IP = IP.replace(" ", "");
String[] temp = IP.split("/");
String[] sIP = temp[0].split("\\.");

/**
* 判断输入格式是否正确
*/
if (temp.length < 2) {
System.out.println("对不起,输入格式错误");
System.exit(0);
}

int Mask = Integer.parseInt(temp[1]);
int[] ip = new int[4];

for (int i = 0; i < sIP.length; i++) {
ip[i] = Integer.parseInt(sIP[i]);
}

/**
* IP地址各段不能大于255
*/

for (int i = 0; i < 4; i++) {
if (ip[i] > 255) {
System.out.println("对不起,IP输入错误");
System.exit(0);
}
}

/**
* 判断IP地址所属分世指睁类
*/

int ipclass = 0;

if (ip[0] < 127) {
System.out.println("A类地址逗档");
ipclass = 1;
} else if (ip[0] < 192) {
System.out.println("B类地址");
ipclass = 2;
} else if (ip[0] < 224) {
System.out.println("C类地址");
ipclass = 3;
}

/**
* 判断子网掩码是否输入正确
*/搜岁

if (Mask < 8 * ipclass) {
System.out.println("对不起,子网掩码输入错误");
System.exit(0);
}

int b = 0;
int a = Mask % 8;

b = Mask / 8;

StringBuffer sb = new StringBuffer();

for (int i = 0; i < a; i++)
sb.append('1');
for (int i = 0; i < 8 - a; i++)
sb.append('0');

int end = Integer.parseInt(sb.toString(), 2);

ip[b] = ip[b] & end;
for (int i = b + 1; i < 4; i++)
ip[i] = 0;

for (int i = 0; i < 4; i++) {
System.out.print(ip[i]);
if (i != 3)
System.out.print(".");
}

}

}

④ java 判断IP地址的有效性

System.out.println("请输入一个ip地址");
Scannerinput=newScanner(System.in);
Stringid=input.next();

String[]idnumber=id.split("\.");

for(inta=0;a<idnumber.length;a++)
{

if(Integer.parseInt(idnumber[a])>=255)
{
System.out.println("IP地址无效");
return;
}

}
System.out.println("IP地址有效");

⑤ java如何确认IP是否属于某地址段

java确认IP属于某地址段主要是判断IP前两组是否相同,使用如下方法:
(1)如果同一个网弊卖段的概念是:
192.168.0.1和192.168.0.254,那么用.拆分判断第一二三部分完全一致应该就可以了,当然填写的时候1到255的限制应该是起码的要求了;
(2)如果192.168.0.1 和 192.168.0.254 ,再配合伍派上子网掩码定义为同一网腔卜贺段的话,那就用两个ip转换为二进制之后分别和二进制子网掩码做逻辑与,结果一致是不是就可以定义为同一网段;
网络中对网段的定义我也不太了解,不知道你是要遵循网络中的定义还是按你自己的需求来;

⑥ 用JAVA怎的判断一个地址是IPv4还是IPv6

IP地址现在又IPv4和IPv6,目毁消厅前比较常用的IPv4。 IPv4地址分为5类。A、B、C、D、E A类地址的标志是第一个字节数值为1---126 如纤隐:10.1.1.1和 100.1.1.1 B类地址的标志是第一个字节数值为128---191 如:172.16.1.1 188.1.1.1 C类地址的标志是第一个,在远标桥晌java前这些我都已经知道了的!

⑦ java如何判断用户使用的是IP地址访问还是域名访问

java判断用团码户使用的是IP地址访问还是域名访问,其实有一个方法的
例如使用使用http://www.test.com访问时塌厅哪, request.getServerName() 会返回www.test.com 这就是域名访问
http://59.129.33.33时,伏启会返回59.129.33.33,这就是地址访问了
主要看request.getServerName()这个方法的返回值就可以判断了、

⑧ java判断是否为合法的ip地址

/**
* 验证ip是否合法
*
* @param text
* ip地址
* @return 验证信息
*/
public String ipCheck(String text) {
if (text != null && !text.isEmpty()) {
// 定义正则表达式
String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
// 判断ip地址是否与正则表达式匹配
if (text.matches(regex)) {
// 返回判断信息
return text + "\n是一个合法的IP地址!";
} else {
// 返回判断信息
return text + "\n不是一个合法的IP地址!";
}
}
// 返回判断信息
return "请输入要验证的IP地址!";
}

返回类型什么的都可以自己修改啊

⑨ java 如何验证ip地址

可以使用正则表达式验证ip地址,ip地址分为v4和v6两个版本,v4为32位,分4段,中间用.隔开,v6为128位,可分为4段32位中间用::隔开。

以下是验证类详细代码:
import java.util.regex.Pattern;
/**
* A collection of utilities relating to InetAddresses.
*/
public class InetAddressUtils {
public static void main(String[] args){
String addr="192.168.1.2";
System.out.println(isIPv4Address(addr));
}

private static final Pattern IPV4_PATTERN =
Pattern.compile(
"^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$");

private static final Pattern IPV6_STD_PATTERN =
Pattern.compile(
"^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$");

private static final Pattern IPV6_HEX_COMPRESSED_PATTERN =
Pattern.compile(
"^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)$");

public static boolean isIPv4Address(final String input) {
return IPV4_PATTERN.matcher(input).matches();
}

public static boolean isIPv6StdAddress(final String input) {
return IPV6_STD_PATTERN.matcher(input).matches();
}

public static boolean isIPv6HexCompressedAddress(final String input) {
return IPV6_HEX_COMPRESSED_PATTERN.matcher(input).matches();
}

public static boolean isIPv6Address(final String input) {
return isIPv6StdAddress(input) || isIPv6HexCompressedAddress(input);
}
}

⑩ java 判断是否为内网ip

内网IP是以下面几个段凯键的IP.用户可以自己设置.常用的内网IP地址:

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255


----------------------选自网络--------------------------------------------------

由于以上ip段、我们只需要做判断ip是否族肢属于以上3个网段就行了

publicbooleanisInner(Stringip)
{
Stringreg="(10|172|192)\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})";//正则表达式=。=、懒得做文字处理了、
Patternp=Pattern.compile(reg);
兆孙世Matchermatcher=p.matcher(ip);
returnmatcher.find();
}
阅读全文

与javaip地址判断相关的资料

热点内容
服务器端渲染的数据怎么爬 浏览:163
压缩空气喷射器 浏览:488
python提高效率 浏览:796
华为文件管理怎么样输入解压码 浏览:800
深思加密狗初始化 浏览:566
黄金崩溃pdf 浏览:309
华为特定短信息加密 浏览:375
微机原理与单片机技术李精华答案 浏览:816
pic12c508单片机 浏览:309
androidgps调用 浏览:226
金文编pdf 浏览:445
14乘87减147的简便算法 浏览:473
怎么创建edu文件夹 浏览:721
算法的基础问题 浏览:256
苹果手机怎么选择app支付 浏览:856
访问加密服务器失败怎么回事 浏览:439
程序员每天跑步5公里 浏览:789
党员对程序员有帮助么 浏览:550
慢跑穿压缩衣还是紧身衣 浏览:214
什么服务器引擎最好 浏览:497