判断一个字符串是否为合法ip地址(ipv4)
2013-10-08 14:54
801 查看
1.判断字符串是否形如“192.168.1.1”
2.字符串两端含有空格视为合法ip,形如“ 192.168.1.1 ”
3.字符串中间含有空格视为非法ip,形如“192.168. 1.2”
4.字符串0开头视为不合法ip,形如192.168.01.1
5.字符串0.0.0.0视为合法ip
2.字符串两端含有空格视为合法ip,形如“ 192.168.1.1 ”
3.字符串中间含有空格视为非法ip,形如“192.168. 1.2”
4.字符串0开头视为不合法ip,形如192.168.01.1
5.字符串0.0.0.0视为合法ip
BOOL isIPAddressValid(const char *psAddress) { bool bDegital; int len = 0; int index = 0; int nDots = 0; int i, j; char *pIPbuf; const char *pTemp = psAddress; while(*pTemp != '\0') { if( *pTemp == '.') { if(*(pTemp+1) == '.') { return FALSE; } nDots++; } pTemp++; } if( nDots != 3 ) { return FALSE; } pTemp = psAddress; len = strlen(psAddress); pIPbuf = new char[len+1]; for(i=0; i<4; ++i) { index = 0; ZeroMemory(pIPbuf, len+1); while(*pTemp != '\0') { if(*pTemp == '.') { break; } pIPbuf[index] = *pTemp; pTemp++; index++; } if(index == 0 || atoi(pIPbuf) < 0 || atoi(pIPbuf) > 255) { delete pIPbuf; return FALSE; } bDegital = false; for(j=0; j<index; j++) { if(!((pIPbuf[j] >= '0')&&(pIPbuf[j] <= '9'))) { if(pIPbuf[j] == ' ') { if(i == 0 && bDegital) { delete pIPbuf; return FALSE; } else if(i == 3) { if((j+1) < index) { if((pIPbuf[j+1] >= '0')&&(pIPbuf[j+1] <= '9')) { delete pIPbuf; return FALSE; } } } else { delete pIPbuf; return FALSE; } } else { delete pIPbuf; return FALSE; } } else { bDegital = true; if(index > 1 && pIPbuf[0] == '0') { delete pIPbuf; return FALSE; } } } if(*pTemp !='\0') { pTemp++; } } delete pIPbuf; printf("valid ip!\n"); return TRUE; }
相关文章推荐
- 【Python】判断一个字符串是否是合法IP地址
- 判断一个字符串是否是合法IP地址
- 判断一个字符串的ip是否是IP合法的ip地址
- python实现判断一个字符串是否是合法IP地址
- python实现判断一个字符串是否是合法IP地址的示例
- 判断一个字符串的ip是否是IP合法的ip地址
- 判断一个字符串是否是有效IP(包括IPv4和IPv6)
- 判断一个字符串是否是合法数字串
- 如何判断一个字符串是否为正确的IP地址
- 判断一个字符串是否是ip地址的实现方法
- python 判断一个IP地址是否合法
- 编写正则表达式,判断给定的是否是一个合法的IP地址。
- C判断一字符串是否是合法的IP地址
- 编写正则表达式,判断给定的是否是一个合法的IP地址。
- (java)判断一个字符串是否是合法的ipv4地址
- Java 判断一个字符串是否为合法日期
- 判断一个字符串是否IPV4的地址
- 华为笔试机试题,如何判断一个IP地址是否合法?
- 判断一个字符串是否为有效ip地址
- 判断一个字符串是否为合法标识符