判断一个字符串是否为合法IP

输入任意一个字符串,判断是否为合法IP

 1 bool IsIPAddress(const char * str){
 2     //先判断形式是否合法,
 3
 4     //检查是否只包含点和数字
 5     for(int i = 0; str[i] != ‘\0‘; i++){
 6         if(!IsDigit(str[i]) && str[i] != ‘.‘)
 7             return false;
 8     }
 9
10     //检查是否形如X.X.X.X
11     int count = 0;
12     for(int i = 0; str[i+1] != ‘\0‘; i++){
13         if(IsDigit(str[i]) && str[i+1] == ‘.‘ )
14             count++;
15     }
16     if(count != 3)
17         return false;
18
19     //检查区间是否合法
20     int temp = 0;
21     int j = 0;
22     for(int i = 0; str[i] != ‘\0‘; i++){
23         if(str[i] != ‘.‘){
24             temp = (temp * 10 * j + int(str[i] - ‘0‘));
25             j++;
26         }
27         else{
28             if(temp <= 255){
29                 temp = 0;
30                 j = 0;
31             }
32             else
33                 return false;
34         }
35     }
36
37     //最后一个也要判断
38     if(temp > 255)
39         return false;
40
41     //通过所有测试,返回正确
42     return true;
43 }
时间: 2024-12-15 08:43:03

判断一个字符串是否为合法IP的相关文章

判断一个字符串是否为有效ip地址

bool f (const char *s) { int s1,s2,s3,s4; if (sscanf(s, "%d.%d.%d.%d", &s1, &s2, &s3, &s4) != 4) { return false; } if ((s1 & 0xffffff00) || (s2 & 0xffffff00) || (s3 & 0xffffff00) || (s4 & 0xffffff00)) { return fal

C# 判断一字符串是否为合法数字(正则表达式)

判断一个字符串是否为合法整数(不限制长度) public static bool IsInteger(string s) { string pattern = @"^\d*$"; return Regex.IsMatch(s,pattern); } 判断一个字符串是否为合法数字(0-32整数) public static bool IsNumber(string s) { return IsNumber(s,32,0); } 判断一个字符串是否为合法数字(指定整数位数和小数位数) //

判断一个字符串是不是一个合法的IP地址

最近在笔试的时候遇到碰一道算法题, 要求判断一个字符串是不是合法的ip地址. 将我的思路发出来分享一下,不一定正确,也不一定是最优的方法.希望能分享一些交流 要求用java或者c来实现,我的java代码: 1 public class Test_ip { 2 //程序入口 3 public static void main(String[] args) { 4 Solution s = new Solution(); // 业务逻辑放在Solution类里面 5 //String test_st

判断一个字符串是否是ip地址的实现方法

最近在学习java,研究一些算法,找些联系题,自己去下手试试.这里记录下学习历程,也增强自己的记忆.初学者,见笑了.从开始判断一个字符串是不是正规ipv4的地址开始练习吧,初步代码如下: public class isIpv4{ public String cutblank(String str){ //如果字符串前有空格            while(str.startsWith(""))            {            str=  str.substring(1

oracle中如何判断一个字符串是否含有汉字

oracle中如何判断一个字符串是否含有汉字 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ①全角字符的判断,或者是含有汉字的字符串的判断 本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力. 一.2.2 实验环境介绍 11.2.0.3  RHEL6.5 一.2.3 本文简介 看到网友问,怎么查询表中某个字段数据是不是包含了

算法积累(字符串转换驼峰,判断一个字符串中那个字母出现次数最多,并且出现了几次)

因为算法比较烂,所以想做一下这方面的积累. 尽量能够每天学习一个新算法吧.(不过估计很悬) 好吧,今天第一个是字符串转换驼峰 直接上代码 var str = 'toupper-case'; var arr = str.split('-'); //toupper,case for (var i = 1; i < arr.length; i++) { //把除了第一个数组后面的数组的第一个值设置为大写然后大写字母和去掉第一个字符的剩下的字符进行拼合 arr[i] = arr[i].charAt(0)

判断一个字符串是否包含一个子串的方法

在我们前端日常开发中,经常会遇到判断一个字符串中是否包含某个子串,在此篇文章,我们将去探究一些解决此种需求的方法以及正确的使用它们.理想情况下,我们要找的是一个能匹配我们的目的(if x contains y)的方法,并返回true或false. 一.String.prototype.indexOf和String.prototype.lastIndexOf i这两个方法,可能是我们最容易想到的,如果包含子串,则返回大于等于0的索引,否则返回-1,没有达到我们的理想情况. var str = "M

判断一个字符串里是否含有某段字符?怎么截取一段字符?

写前端过程中遇到的最多的字符串操作莫过于 :判断一个字符串里是否含有某段字符 ,和 截取一段字符串. 字符串操作有很多方法,其实一般只要掌握以上两个就够用了,其他方法随他去吧,好,下面就以上两个方法讲解一下. 1.判断一个字符串是否含有某段字符,使用indexOf()方法: str.indexOf("参数1","参数2");参数1表示判断是否包含的小字符串, 参数2表示从左到有依次判断的起始位置,默认从0开始,str表示用于寻找的原字符串,ps:如果原字符串含多个判

Java基础知识强化47:StringBuffer类之判断一个字符串是否对称案例

1. 分析:判断一个字符串是否是一个对称的字符串,我们只需要把字符串的第1个字符和最后1个字符,第2个字符和倒数第2个字符,…… 比较的次数是长度除以2. 2. 案例演示: 1 package cn.itcast_07; 2 3 import java.util.Scanner; 4 5 /* 6 * 判断一个字符串是否是对称字符串 7 * 例如"abc"不是对称字符串,"aba"."abba"."aaa"."mna