精华内容
下载资源
问答
  • IP地址有效性

    2016-12-17 19:47:11
    核心ip用正则表达式表达:”^(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)\.”

    核心ip用正则表达式表达:”^(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)$”
    用java实现:

    package com.lzw;
    
    import java.awt.EventQueue;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    public class CheckIPAddress extends JFrame {
    
        private JPanel contentPane;
        private JTextField ipField;
    
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        CheckIPAddress frame = new CheckIPAddress();
                        frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the frame.
         */
        public CheckIPAddress() {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setBounds(100, 100, 280, 128);
            contentPane = new JPanel();
            contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
            setContentPane(contentPane);
            contentPane.setLayout(null);
    
            JLabel lblip = new JLabel("\u8BF7\u8F93\u5165IP\u5730\u5740\uFF1A");
            lblip.setBounds(12, 14, 92, 15);
            contentPane.add(lblip);
    
            ipField = new JTextField();
            ipField.setBounds(100, 10, 141, 25);
            contentPane.add(ipField);
    
            JButton button = new JButton("\u9A8C\u8BC1");
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    do_button_actionPerformed(e);
                }
            });
            button.setBounds(66, 57, 93, 23);
            contentPane.add(button);
        }
    
        protected void do_button_actionPerformed(ActionEvent e) {
            String text = ipField.getText();// 获取用户输入
            String info = matches(text);// 对输入文本进行IP验证
            JOptionPane.showMessageDialog(null, info);// 用对话框输出验证结果
        }
    
        /**
         * 验证ip是否合法
         * 
         * @param text
         *            ip地址
         * @return 验证信息
         */
        public String matches(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地址!";
        }
    }
    
    展开全文
  • 判断IP地址有效性

    2020-02-27 23:16:03
    判断IP地址有效性 import java.util.Scanner; //ip格式:(1-255).(0-255).(0-255).(0-255) public class ipAddress { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String ...

    判断IP地址有效性

    import java.util.Scanner;
    //ip格式:(1-255).(0-255).(0-255).(0-255)
    public class ipAddress {
        public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         String str = sc.next();
           boolean isLegal =  isIP(str);
            if(isLegal){
                System.out.println(str + "是合法的");
            }else{
                System.out.println(str + "不是合法的");
            }
    
        }
    
        public static boolean isIP(String s) {
            //检查ip是否为空
            if (s == null) return false;
            //检查IP长度,最短为7位,最长15位
            if (s.length() < 7 || s.length() > 15) return false;
            //输入字符串的首末字符判断,如果是‘.'则是非法ip
            if (s.charAt(0) == '.' || s.charAt(s.length()-1) == '.') return false;
            //按‘.’分割字符串,并判断分割出来的数,如果不是4个,则是非法IP
            String[] ss = s.split("\\.");
            if (ss.length != 4) return false;
            //对分割出来的字符进行单独判断
    
            for (int i = 0; i < ss.length; i++) {
                //如果每个字符不是一个字符,且以‘0’开头,则是非法的,比如01.002.03.004
                if (ss[i].length() > 1 && ss[i].charAt(0) == '0') return false;
    
                //对每个字符串的每个字符逐一进行判断,如果不是0-9,则是非法
                for (int j = 0; j < ss[i].length(); j++) {
                    if (ss[i].charAt(j) < '0' || ss[i].charAt(j) > '9') return false;
                }
            }
            //对拆分的每一个字符串进行转换成数字,并判断是否在0-255
            for (int i = 0; i < ss.length; i++) {
                int temp = Integer.parseInt(ss[i]);
                if (i == 0) {
                    if (temp < 1 || temp > 255) return false;
                } else {
                    if (temp < 0 || temp > 255) return false;
                }
            }
            return true;
        }
    }
    
    

    测试用例

    等价划分法

    有效可用的IP地址
    A类 1.0.0.0-126.255.255.254
    A私有 10.0.0.0- 10.255.255.254
    B类 128.0.0.0-191.255.255.254
    B私有 172.16.0.0-172.31.255.254
    C类 192.0.0.0-223.255.255.254
    C私有 192.168.0.0-192.168.255.254
    Windows自动分配 169.254.0.0-169.254.255.254
    有效但不可用的IP地址
    D类 224.0.0.0-239.255.255.255
    E类 240.0.0.0-255.255.255.254
    全网 0.x.x.x, x.x.x.0
    广播 x.x.x.255
    回环 127.0.0.0-127.255.255.254
    展开全文
  • 用VBS脚本判断IP地址有效性
  • 【C++】判断IP地址有效性

    千次阅读 2015-03-03 20:07:48
    题目:判断输入的字符串是不是一个有效IP地址详细描述: 请实现如下接口 booli sIPAddressValid ( const char * pszIPAddr ) 输入: pszIPAddr 字符串 输出:true 有效IP地址,false,无效的IP地址 ...
    /*
    功能:
        判断IP地址是否有效
    接口函数:
        booli sIPAddressValid ( const char *  pszIPAddr )
    输入: 
        pszIPAddr  字符串
    输出:
        true 有效的IP地址,false,无效的IP地址
    约束:
        1.输入IP为XXX.XXX.XXX.XXX格式
        2.字符串两端含有空格认为是合法IP
        3.字符串中间含有空格认为是不合法IP
        4.类似于 01.1.1.1, 1.02.3.4  IP子段以0开头为不合法IP
        5.子段为单个0 认为是合法IP,0.0.0.0也算合法I
    */
    
    #include <iostream>
    #include <cstring>
    using namespace std;
    
    bool isIPAddressValid(const char* pszIPAddr)
    {
    	if (!pszIPAddr) return false; //若pszIPAddr为空
    	char IP1[100],cIP[4];
    	int len = strlen(pszIPAddr);
    	int i = 0,j=len-1;
    	int k, m = 0,n=0,num=0;
    	//去除首尾空格(取出从i-1到j+1之间的字符):
    	while (pszIPAddr[i++] == ' ');
    	while (pszIPAddr[j--] == ' ');
    	
    	for (k = i-1; k <= j+1; k++)
    	{
    		IP1[m++] = *(pszIPAddr + k);
    	}     
    	IP1[m] = '\0';
    	
    	char *p = IP1;
    
    	while (*p!= '\0')
    	{
    		if (*p == ' ' || *p<'0' || *p>'9') return false;
    		cIP[n++] = *p; //保存每个子段的第一个字符,用于之后判断该子段是否为0开头
    
    		int sum = 0;  //sum为每一子段的数值,应在0到255之间
    		while (*p != '.'&&*p != '\0')
    		{
    		  if (*p == ' ' || *p<'0' || *p>'9') return false;
              sum = sum * 10 + *p-48;  //每一子段字符串转化为整数
    		  p++;
    		}
    		if (*p == '.') {
    			if ((*(p - 1) >= '0'&&*(p - 1) <= '9') && (*(p + 1) >= '0'&&*(p + 1) <= '9'))//判断"."前后是否有数字,若无,则为无效IP,如“1.1.127.”
    				num++;  //记录“.”出现的次数,不能大于3
    			else
    				return false;
    		};
    		if ((sum > 255) || (sum > 0 && cIP[0] =='0')||num>3) return false;//若子段的值>255或为0开头的非0子段或“.”的数目>3,则为无效IP
    
    		if (*p != '\0') p++;
    		n = 0;
    	}
    	if (num != 3) return false;
    	return true;
    }
    
    void main()
    {
        char IP[] = " 254.1.1.1 ";
    	//char IP[100];
    	//cin >> IP;
    	bool tf = isIPAddressValid(IP);
    	cout << tf<<endl;
    	system("pause");
    }

    展开全文
  • 检测IP地址有效性

    千次阅读 2010-10-23 09:53:00
    bool checkIp(char *ip) { if (ip == NULL || *ip '9') { return false; } if(strlen(ip) 15) return false; if(strstr(ip, "..") != NULL) return false; int i = 0, count = 0; char ...

    bool checkIp(const char *ipAddr)
    {
     assert(ipAddr != NULL);
     if(strlen(ipAddr) < 7 || strlen(ipAddr) > 15)
      return false;
     if(strstr(ipAddr, "..") != NULL)
      return false;
     char num[4] = {0};
     int i = 0;
     while(true)
     {
      cout << *ipAddr << endl;
      if(*ipAddr <= '9' && *ipAddr >= '0')
      {
       num[i++] = *ipAddr;
       ipAddr++;
       if(i > 3)
        return false;
      }
      else if(*ipAddr == '.' | *ipAddr == '/0')
      {
       if(atoi(num) > 255)
       {
        return false;
       }
       if(*ipAddr == '/0')
        break;
       memset(num, 0, 4);
       ipAddr++;
       i = 0;
      }
      else
      {
       return false;
      }
     }
     
     return true;
    }

    展开全文
  • 检验IP地址有效性

    2012-09-04 15:45:46
    使用inet_aton函数
  • IP地址判断有效性

    千次阅读 2016-04-06 12:34:02
    IP地址判断有效性标签(空格分隔): OJ_算法1.题目 判断输入的字符串是不是一个有效的IP地址 详细描述: 请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效...
  • 验证IP地址有效性

    2019-04-04 14:35:00
     IP地址是网络上每台计算机的标识,在浏览器中输入的网址也是要经过DNS服务器转换为IP地址才能找到服务器。 关键技术  正则表达式 转载于:https://www.cnblogs.com/cglib/p/10654712.html...
  • 华为OJ IP地址判断有效性

    千次阅读 2014-03-29 16:30:01
    题目标题: 判断输入的字符串是不是一个有效IP地址   详细描述: 请实现如下接口 ...输出:true 有效IP地址,false,无效的IP地址   约束 输入IP为XXX.XXX.XXX.XXX格式
  • IP地址判断有效性 答题时间: 00 小时 00 分 09 秒 描述:  题目标题: 判断输入的字符串是不是一个有效的IP地址   详细描述: 请实现如下接口 ...
  • JAVA验证IP地址有效性

    千次阅读 2012-08-15 20:48:39
    为了防止用户输入无效的IP地址,可以在输入IP地址时,对其进行验证,如果是有效IP地址,则可以进行网络操作,否则可以提示IP地址无效,这样就可以防止输入错误的IP地址。 例7.13 创建一个CheckIp类,在类中编写...
  • OJ 系列之IP地址判断有效性

    千次阅读 2016-01-17 14:13:25
    1、问题描述判断输入的字符串是不是一个有效IP地址 详细描述: 请实现如下接口 bool isIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效IP地址,false,无效的IP地址 约束 ...
  • 题目标题:判断输入的字符串是不是一个有效IP地址 详细描述: 请实现如下接口 bool isIPAddressValid(const char* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效IP地址,false,无效的IP地址
  • 判断输入的字符串是不是一个有效IP地址 详细描述: 请实现如下接口  boolisIPAddressValid(constchar* pszIPAddr)  输入:pszIPAddr 字符串  输出:true 有效IP地址,false,无效的IP地址 约束 输入IP为...
  • 题目判断输入的字符串是不是一个有效IP地址详细描述:请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效IP地址,false,无效的IP地址约束输入IP为XXX.XXX....
  • // 、判断ip地址是否与正则表达式匹配 if ( text . matches ( regex ) ) { // 、返回判断信息 return text + "\n是一个合法的IP地址!" ; } else { // 、返回判断信息 return text ...
  • 在写程序时经常需要判断用户输入的IP地址有效性,以及掩码的有效性,今天我写了一个简单的类实现这两个功能。 #ifndef NETPARAMETERACK_H #define NETPARAMETERACK_H #include <QString> #include <...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 943
精华内容 377
关键字:

ip地址有效性