判断字符串是否符合IP规范
时间: 2023-11-26 15:06:13 浏览: 31
以下是Python的示例代码:
```python
def is_valid_IP(ip_address):
"""
判断字符串是否符合IP规范
"""
# 将IP地址拆分成4个部分
parts = ip_address.split('.')
# 判断是否有4个部分
if len(parts) != 4:
return False
# 判断每个部分是否都是数字并且在0-255之间
for part in parts:
if not part.isdigit() or int(part) < 0 or int(part) > 255:
return False
return True
```
这个函数接受一个IP地址字符串作为参数,返回一个布尔值,表示该字符串是否符合IP规范。该函数首先将IP地址字符串拆分成4个部分,然后检查每个部分是否都是数字并且在0-255之间。如果有任何一个部分不符合要求,函数将返回False。否则,函数将返回True。
相关问题
C实现判断字符串是否符合IP规范
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int is_valid_ip(char *ip) {
int len = strlen(ip);
if (len < 7 || len > 15) {
return 0;
}
char *p = ip;
int count = 0;
while (*p != '\0') {
if (!isdigit(*p) && *p != '.') {
return 0;
}
if (*p == '.') {
count++;
if (count > 3) {
return 0;
}
}
p++;
}
if (count != 3) {
return 0;
}
char *token;
int num;
token = strtok(ip, ".");
while (token != NULL) {
num = atoi(token);
if (num < 0 || num > 255) {
return 0;
}
if (num != 0 && token[0] == '0') {
return 0;
}
token = strtok(NULL, ".");
}
return 1;
}
int main() {
char ip[20];
printf("Enter an IP address: ");
fgets(ip, 20, stdin);
ip[strlen(ip) - 1] = '\0'; // remove newline character
if (is_valid_ip(ip)) {
printf("%s is a valid IP address.\n", ip);
} else {
printf("%s is not a valid IP address.\n", ip);
}
return 0;
}
```
java判断字符串是否为ip
可以使用正则表达式来判断字符串是否为IP地址,以下是Java代码示例:
```java
public static boolean isIP(String str) {
String regex = "^((\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])\\.){3}(\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])$";
return str.matches(regex);
}
```
该方法会返回一个布尔值,表示输入的字符串是否为IP地址。