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

简介: 域名合法性判断 【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

相关文章
|
5月前
|
jenkins Shell 测试技术
|
5月前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
453 108
|
7月前
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
685 82
|
5月前
|
安全 jenkins Java
Java、Python、C++支持jenkins和SonarQube(一)
Jenkins 是一个开源的 持续集成(CI)和持续交付(CD) 工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
355 5
|
5月前
|
jenkins Java Shell
Java、Python、C++支持jenkins和SonarQube(全集)
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
495 1
|
5月前
|
jenkins Java 持续交付
Java、Python、C++支持Jenkins和SonarQube(三)
Python与Jenkins和SonarQube
177 1
|
5月前
|
jenkins Java 测试技术
|
7月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
408 14
|
8月前
|
算法 Java 数据库连接
Java 与 C++ 区别深入剖析及应用实例详解
本文深入剖析了Java和C++两种编程语言的区别,从编译与执行机制、面向对象特性、数据类型与变量、内存管理、异常处理等方面进行对比,并结合游戏开发、企业级应用开发、操作系统与嵌入式开发等实际场景分析其特点。Java以跨平台性强、自动内存管理著称,适合企业级应用;C++则因高性能和对硬件的直接访问能力,在游戏引擎和嵌入式系统中占据优势。开发者可根据项目需求选择合适语言,提升开发效率与软件质量。附面试资料链接:[点此获取](https://pan.quark.cn/s/4459235fee85)。
731 0