精华内容
下载资源
问答
  • IP地址判断

    2017-07-18 11:22:15
    输入一个字符串,判断是否是合法的IP地址。 具体的做法是用'.'将字符串进行分割,分割后如果满足:1.有4部分 2.每部分是0-255的整数 则为合法的字符串。 但是由于c++里没有python中的split(貌似boost里有),所以...

    输入一个字符串,判断是否是合法的IP地址。

    具体的做法是用'.'将字符串进行分割,分割后如果满足:1.有4部分 2.每部分是0-255的整数 则为合法的字符串。

    但是由于c++里没有python中的split(貌似boost里有),所以要自己写一个split函数。这里借鉴了别人的写法(一开始我想暴力判断,后来发现行不通,还是要用分割来做)。

    代码如下

    // 5.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <iostream>
    #include <string>
    #include <cstdlib>
    #include <vector>
    #include <sstream>
    
    using namespace std;
    
    void split(string& s, string& delim, vector<string>* ret)
    {
    	size_t last = 0;
    	size_t index = s.find_first_of(delim, last);
    	while (index != string::npos)
    	{
    		ret->push_back(s.substr(last, index - last));
    		last = index + 1;
    		index = s.find_first_of(delim, last); //寻找下一个分割位置
    	}
    
    	//最后一个点之后的部分
    	if (index - last>0)
    	{
    		ret->push_back(s.substr(last, index - last));
    	}
    }
    
    bool checkIP(string tempIP)
    {
    	vector<string> str;
    	string delim = ".";
    	split(tempIP, delim, &str);//分割字符串
    	if (str.size() != 4)
    	{
    		return false;
    	}
    	else
    	{
    		for (vector<string>::iterator iter = str.begin(); iter != str.end(); ++iter)
    		{
    			int transInt = 0;
    			stringstream ss;
    			ss << (*iter);
    			ss >> transInt; //借助stringstream转换整数
    			if (transInt<0 || transInt>255) //判断是否是合法的数字
    			{
    				return false;
    			}
    		}
    		return true;
    	}
    }
    
    
    int main()
    {
    	string s;
    	while (cin >> s)
    	{
    		if (checkIP(s))
    			cout << "YES" << endl;
    		else
    			cout << "NO" << endl;
    	}
    	system("pause");
    	return 0;
    }
    
    


    展开全文
  • 正则ip地址判断

    2020-02-28 11:27:15
    正则ip地址判断 import re def ipFormatChk(ip_str): pattern = r"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4]...

    正则ip地址判断

    import re
    def ipFormatChk(ip_str):
        pattern = r"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"
        if re.match(pattern, ip_str):
            return True
        else:
            return False
    
    展开全文
  • C# Ip地址判断

    2017-02-22 13:00:32
    新学习 C# 程序 利用 MaskedTextBox 实现 IP 地址输入的判断例子!
  • 通过ip地址判断用户地址工具类 // 测试 public static void main(String[] args) throws ClientProtocolException, IOException { String ip = "114.84.158.55"; String add[] = getCityNameByTaoBaoAPI(ip); ...

    通过ip地址判断用户地址工具类

    // 测试
    public static void main(String[] args) throws ClientProtocolException, IOException {
       String ip = "114.84.158.55";
        String add[] = getCityNameByTaoBaoAPI(ip);
        System.out.println("国家:"+ add[0] +",省份:"+ add[1] +",城市:"+add[2]);
    }
    
       @SuppressWarnings({"unchecked", "rawtypes"})
       public static String[] getCityNameByTaoBaoAPI(String ip) {
           URL url = null;
           try {
               url = new URL("http://ip.taobao.com/service/getIpInfo.php?ip=" + ip);
    
               URLConnection conn = url.openConnection();
               BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
               String line = null;
               StringBuilder result = new StringBuilder();
               while ((line = reader.readLine()) != null) {
                   result.append(line);
               }
               reader.close();
               String res = result.toString();
               Gson gson = new Gson();
               HashMap<String, Object> kv = gson.fromJson(res, HashMap.class);
               if (kv == null) {
                   return null;
               }
               LinkedTreeMap map = (LinkedTreeMap) kv.get("data");
               String[] location = new String[3];
               location[0] = "";   //国家
               location[1] = "";   //省份
               location[2] = "";   //市区
               if ((map != null) && (!map.isEmpty())) {
                   location[0] = (String) map.get("country");
                   location[1] = (String) map.get("region");
                   location[2] = (String) map.get("city");
               }
               return location;
           } catch (Exception e) {
               log.error("-----(cLuo web后台)通过ip查询用户IP省份地理位置信息错误:----->", e);
               return null;
           }
       }
    
    展开全文
  • IP地址判断有效性

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

    IP地址判断有效性

    标签(空格分隔): OJ_算法


    1.题目

    • 判断输入的字符串是不是一个有效的IP地址
      详细描述:
    • 请实现如下接口
      boolisIPAddressValid(constchar* pszIPAddr)
      输入:pszIPAddr 字符串
      输出:true 有效的IP地址,false,无效的IP地址
    • 约束
      输入IP为XXX.XXX.XXX.XXX格式
      字符串两端含有空格认为是合法IP
      字符串中间含有空格认为是不合法IP
      类似于 01.1.1.1, 1.02.3.4 IP子段以0开头为不合法IP
      子段为单个0 认为是合法IP,0.0.0.0也算合法IP

    2 代码实现

    版本1:

    int ConvertSubIPToInt(const char* sub_ip)
    {
        if (sub_ip == NULL)
            return -1;
        int length = strlen(sub_ip);
        if (length < 1 || length>3)
            return -1;
        int sub_value = 0;
        for (int i = 0; i < length; i++)
        {
            if (sub_ip[i]<'0' || sub_ip[i]>'9')
                return -1;
            sub_value = 10 * sub_value + sub_ip[i] - '0';
        }
        return sub_value;
    }
    bool isIPAddressValid(const char* pszIPAddr)
    {
        // 请在此处实现
        if (pszIPAddr == NULL || *pszIPAddr == '\0')
            return false;
    
        int szIPAddr_length = strlen(pszIPAddr);
    
        int index_start = 0;
        int index_end = szIPAddr_length - 1;
    
        //去除前边的空格
        while (pszIPAddr[index_start] == ' ')
        {
            ++index_start;
        }
        //去除后边空格
        while (pszIPAddr[index_end] == ' ')
        {
            --index_end;
        }
        if (index_end <= index_start)
            return false;
    
        int ip_length = index_end - index_start + 2;
        char *temp_ip=(char*)malloc(ip_length);
        strncpy(temp_ip, pszIPAddr + index_start, ip_length-1);
        temp_ip[ip_length - 1] = '\0';
    
        char* sub_ip = strtok(temp_ip, ".");
        int sub_ip_count = 0;
        int sub_ip_value;
        while (sub_ip != NULL)//ip分段,计数分段ip,并转换为0-255
        {
            sub_ip_count++;
            if (sub_ip_count > 4)
            {
                free(temp_ip);
                return false;
            }
            sub_ip_value= ConvertSubIPToInt(sub_ip);
            if (sub_ip_value < 0 || sub_ip_value > 255)
                {
                    free(temp_ip);
                    return false;
                }
            sub_ip = strtok(NULL, ".");
        }
        free(temp_ip);
        if (sub_ip_count != 4)
            return false;
        else
            return true;
    }

    版本2:

    bool isIPAddressValid(const char* pszIPAddr)
    {
        // 请在此处实现
        if (pszIPAddr == NULL || *pszIPAddr == '\0')
            return false;
    
        size_t szIPAddr_length = strlen(pszIPAddr);
    
        bool isValid = true;
        size_t index_start = 0;
        size_t index_end = szIPAddr_length - 1;
    
        //去除前边的空格
        while (pszIPAddr[index_start] == ' ')
        {
            ++index_start;
        }
        //去除后边空格
        while (pszIPAddr[index_end] == ' ')
        {
            --index_end;
        }
    
        int sub_value = 0;//转换每个子段的值
        int dot_mark_count = 0;//统计字符'.'的个数
    
        size_t sub_fisrt = index_start;//记录每个子段的第一个字符位置
        for (size_t i = index_start; i <= index_end + 1; i++)
        {
            if (pszIPAddr[i] >= '0'&&pszIPAddr[i] <= '9')
            {
                sub_value = 10 * sub_value + pszIPAddr[i] - '0';
            }
            else if (pszIPAddr[i] == '.' || i == index_end + 1)
            {
                if (i == index_start || pszIPAddr[i - 1] < '0' || pszIPAddr[i - 1]>'9')//判断第一位或者.的前后是否有数字
                    return false;
                if (pszIPAddr[i] == '.')//统计点'.'的个数
                {
                    dot_mark_count++;
                    if (dot_mark_count > 3)
                        return false;
                }
    
                if (sub_value < 0 || sub_value>255)
                    return false;
                if (sub_value != 0 && pszIPAddr[sub_fisrt] == '0')
                    return false;
    
                sub_value = 0;//子段识别完毕,重新转换下一子段值
                sub_fisrt = i + 1;
            }
            else
                return false;
        }
        if (dot_mark_count != 3)//统计点'.'的个数
            return false;
    
        return true;
    }

    参见:https://www.zybuluo.com/songpfei/note/335965

    展开全文
  • 根据登录IP地址判断用户来源,附2008-8-20日的最新IP地址库
  • 内网的IP地址判断

    千次阅读 2014-03-19 11:11:28
    1 内网的IP地址判断 分布式系统的设计中,经常要判断一个请求是否来自于内外还是外网,如果外网用户使用了内网的请求往往会发生恐怖的事情。 对企业网的IP分配一般以RFC1918中定义的非Internet连接的网络地址, 也...
  • js根据IP地址判断城市

    千次阅读 2017-04-06 13:29:26
    js根据IP地址判断城市 1 var province = '' ; 2 var city = '' ; 3 jQuery.getScript("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js",function(){ 4 province = remote_ip_info["province...
  • /** getaddress方法和gethostaddress类似,它们的唯一区别是gethostaddress方法返回的是字符串形式的ip地址,* 而getaddress方法返回的是byte数组形式的ip地址。* java中byte类型的取值范围是-128?127。如果返回的ip...
  • 根据IP地址判断所属城市

    千次阅读 2016-02-17 16:06:15
    /**根据IP地址判断所属城市**/ $(function(){ var province = '' ; var city = '' ; jQuery.getScript("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js",function(){
  • 0906 IP地址判断

    2019-09-06 22:19:43
    输入一个字符串,程序判断是不是ip地址。(通过正则表达式) public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String ipStr = scanner.next(); boolean isIpLegal = ...
  • 腾讯、新浪、淘宝都有相应的调用接口,这里我用的... * 根据IP地址判断客户端属于哪个国家或地区 * @param content 请求的参数 格式为:name=xxx&pwd=xxx * @param encodingString 服务器端请求编码。如GBK,UT...
  • IP地址判断有效性 答题时间: 00 小时 00 分 09 秒 描述:  题目标题: 判断输入的字符串是不是一个有效的IP地址   详细描述: 请实现如下接口 ...
  • 获取客户端ip地址,并通过ip地址判断客户属于哪个国家或地区
  • 合法IP地址判断

    千次阅读 2018-04-21 17:02:21
    iPv4的ip地址都是(1~255).(0~255).(0~255).(0~255)的格式 下面给出相对应的正则表达式: “^(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...
  • python3实例 IP地址判断

    2021-03-01 09:59:17
    输入一串字符,判断该字符串是否为点分十进制的IP地址,若是则转换为16进制输出,否则输出“Error” 注意:输入可能是任意的一个字符串,比如“abc.bas.fefe.4r4”或者“23.23.11.23.123” 这都是不合法的IP地址 ...
  • 自然分类IP地址判断.c

    2020-09-02 15:06:15
    由于这是我自己练习的C语言小程序,自己技术都不足,就当分享资源(所需积分我设置的0,如果你下载需要积分那不是我改的),有需要的萌新可能会有所作用吧
  • 根据ip地址判断输出

    2014-01-10 13:45:36
    ip输出.php中内容添加到需要使用的php 页面中 qqwry.dat 为数据内容 可从网上下载最新版本 ip.php可以中修改qqwey。dat的路径 此物经过实及测试有效
  • If an IP address is in the range of an IP subnet, we say that the IP address is located in the IP subnet. And if an IP address is located in any IP subnet(s) in a policy P, we say that the IP address...
  • 先要获取ip地址相当简单,下面先介绍两种获取IP地址的代码,后面需要利用QQIP库来查找当前IP是属于那个IP段然后得出城市字段并返回
  • php 根据ip地址判断是那个国家

    热门讨论 2013-01-23 10:51:56
    利用php 根据ip地址判断用户来自那个国家 城市 城市归属地信息
  • JS实现IP地址判断

    2012-01-12 09:50:00
    网上有许多进行IP地址进行判断的,但是我在做JS的IP查询的时候,也需要输入127.0.0.*地址来进行判断,但是这样的IP地址明显不符合IP地址,后来我想到可不可以先在页面上只截取前三位然后只判断IP地址的前三位呢,...
  • VB实现IP地址判断并用ping测试

    热门讨论 2009-04-22 10:00:21
    用VB实现判断IP地址是否输入正确,并用ping测试输入的IP主机是否正常工作

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,974
精华内容 2,789
关键字:

ip地址判断