域名合法性判断 【C/C++/Java/Python】(基础程序设计,字符串)

本文涉及的产品
.cn 域名,1个 12个月
简介: 域名合法性判断 【C/C++/Java/Python】(基础程序设计,字符串)

以下为Python版本的域名合法性判断代码:

import re

def is_valid_domain(domain):

# 判断域名是否符合规则
if not re.match(r'^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$', domain):
    return False
# 判断域名是否在ICANN注册表中
try:
    import whois
    domain_info = whois.whois(domain)
    if not domain_info.status or 'pending' in domain_info.status:
        return False
    else:
        return True
except:
    return False

python

该函数接受一个字符串类型的域名作为参数,使用正则表达式判断域名是否符合规则,然后使用Python中的whois库查询该域名信息,判断该域名是否在ICANN注册表中,并且是否已经注册成功。如果全部符合要求,返回True,否则返回False。

使用示例:

domain = 'example.com'
result = is_valid_domain(domain)
print(result) # 输出 True

domain = 'example'
result = is_valid_domain(domain)
print(result) # 输出 False

相关文章
|
18天前
|
安全 Java API
【Java字符串操作秘籍】StringBuffer与StringBuilder的终极对决!
【8月更文挑战第25天】在Java中处理字符串时,经常需要修改字符串,但由于`String`对象的不可变性,频繁修改会导致内存浪费和性能下降。为此,Java提供了`StringBuffer`和`StringBuilder`两个类来操作可变字符串序列。`StringBuffer`是线程安全的,适用于多线程环境,但性能略低;`StringBuilder`非线程安全,但在单线程环境中性能更优。两者基本用法相似,通过`append`等方法构建和修改字符串。
43 1
|
3天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
8天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
19天前
|
存储 Java
|
19天前
|
存储 Java
如何在 Java 中打印字符串数组列表
【8月更文挑战第23天】
26 2
|
19天前
|
存储 Java API
|
22天前
|
Java 测试技术
Java系列之判断字符串是为空或者null
这篇文章介绍了如何在Java中使用`isEmpty()`方法判断字符串是否为空或`null`,并提供了相应的测试用例来演示其用法。
|
22天前
|
Java
Java系列 之除字符串中的空格(trim())
这篇文章介绍了Java中`String`类的`trim()`方法,用于去除字符串首尾的空格,并指出`trim()`只能去除半角空格,对于全角空格需要先用`replace()`方法替换成半角空格再进行去除。
|
22天前
|
Java
Java系列之 字符串和字节互转
这篇文章是关于Java中字符串和字节之间互转的方法,包括使用`getBytes()`方法将字符串转换为字节数组,以及使用String构造方法将字节数组转换回字符串。