Java Email Validation2025年3月29日 | 阅读 4 分钟 在设计表单时,电子邮件扮演着重要的角色。电子邮件可以是我们的用户名或登录 ID。电子邮件有其自身的结构,在使用之前,我们需要对其进行验证。在 Java 中,电子邮件验证是通过使用正则表达式来执行的。 在任何需要电子邮件地址作为注册阶段必需信息的应用程序中,都需要进行电子邮件验证。 我们可以通过五种方法使用正则表达式执行电子邮件验证。
![]() 验证电子邮件的最简单正则表达式正则表达式 ^(.+)@(.+)$ 是最简单的正则表达式,它只检查 @ 符号。它不关心 '@' 符号之前和之后的字符。让我们举例说明它是如何验证电子邮件地址的。 EmailValidation1.java 输出 ![]() 对用户名部分添加限制正则表达式 "^[A-Za-z0-9+_.-]+@(.+)$" 还会检查电子邮件地址的用户名部分。为了检查电子邮件的用户名部分,我们使用正则表达式添加了一些限制。正则表达式 "^[A-Za-z0-9+_.-]+@(.+)$", ^[A-Za-z0-9+_.-] 定义了以下限制。
让我们举例说明它是如何验证电子邮件地址的。 EmailValidation2.java 输出 ![]() RFC 5322 允许的电子邮件验证要验证 RFC 5322 允许的电子邮件,我们使用 "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+$" 正则表达式。它使用了 RFC 规定的电子邮件消息格式允许的所有字符。在这些字符中,一些字符在直接从用户输入传递到 SQL 语句时会带来风险。这些字符主要是管道符 (|)、单引号 (') 等。 让我们举例说明它是如何验证电子邮件地址的。 EmailValidation3.java 输出 ![]() 限制电子邮件的尾随、连续和前导点正则表达式 "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^-]+(?:\\.[a-zA-Z0-9_!#$%&'*+/=?`{|}~^-]+)*@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$" 限制我们添加连续的点、尾随点和前导点。电子邮件可以在本地部分和域名中包含多个点,但不允许连续的点。我们的电子邮件也不能以点开头或结尾。该正则表达式也根据这三个条件验证电子邮件。 让我们举例说明它是如何验证电子邮件地址的。 EmailValidation4.java 输出 ![]() 限制电子邮件在顶级域中输入的字符数正则表达式 "^[\\w!#$%&'*+/=?`{|}~^-]+(?:\\.[\\w!#$%&'*+/=?`{|}~^-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$" 检查域名中是否至少有一个点,并且点之后只包含字母。顶级域应该只有两到六个字母,这一点也由这个正则表达式进行检查。 让我们举例说明它是如何验证电子邮件地址的。 EmailValidation5.java 输出 ![]() 以上讨论的所有正则表达式都用于电子邮件验证。最后一个正则表达式使用更多条件和规则来严格验证电子邮件。在 Java 中,我们通常使用最后一个讨论的正则表达式来验证电子邮件。 |
尼文数(Niven numbers)以加拿大数学家伊万·尼文(Ivan Niven)的名字命名,他于 1977 年在一篇论文中介绍了它们。然而,它们最早是由印度数学家 D. R. Kaprekar 在 20 世纪 50 年代研究的。在本节中,我们将学习什么是尼文数以及示例……
5 分钟阅读
Java 是一种流行的编程语言,广泛用于开发各种类型的应用程序。许多应用程序中的常见任务之一是从日历中获取日期。在本节中,我们将探讨如何从日历中获取日期...
阅读 3 分钟
java.text.RuleBasedCollator 类有一个 compare() 函数。当比较两个对象的强度时,RuleBasedCollator 类用于比较结果。根据比较,该类返回一个正数或负数。语法:public int compare(Object obj1, Object obj2) 参数:...
阅读 3 分钟
反转字符串中的字符会将每个字母替换为其在字母表中对应位置的对应字符(例如,'a' 变为 'z','b' 变为 'y')。大写和小写字母保留其大小写,非字母字符保持不变。此技术在编码和文本转换中很有用。示例...
7 分钟阅读
java.time.chrono.JapaneseChronology 类有一个 eras() 方法。要获取此特定日本历法下的所有 era,请使用 JapaneseChronology 代码。语法:public List eras() 参数:此方法不能接受任何参数。返回值:此历法下的所有 era...
阅读 3 分钟
这个问题是一个著名的优化问题,它使用动态规划来实现最大利润——钢筋切割问题。给定一根固定长度的钢筋,我们想切断这根钢筋以获得尽可能多的收益,而每段都有不同的价格,取决于...
阅读 4 分钟
在本节中,我们将了解什么是拉马努金数(或哈代-拉马努金数)以及如何通过 Java 程序检查该数字是否为拉马努金数。拉马努金数 在数学中,拉马努金数是一个神奇的数字。它可以定义为最小的数字,它……
阅读 4 分钟
JavaTuples 库引入了一种强大的机制,用于在 Java 编程中管理包含元组(有序元素集合)的结构化数据。在其组件中, Quartet 和 Quintet 类引人注目,分别设计用于处理包含四个和五个元素的元组。这些泛型类允许开发人员...
阅读 10 分钟
LinkedHashMap 是 Java 编程中的一个预定义类,可以从 HashMap 扩展而来。它提供了一个一致的迭代顺序的哈希表。java.util 包包含 LinkedHashMap,它用于维护双向链表。语法:LinkedHashMap<K, V> map = new LinkedHashMap<>(initialCapacity, loadFactor, accessOrder); 参数:K:…
阅读 3 分钟
顾名思义,不可变映射类型称为不可变映射。它表示映射的内容在声明后是只读的,此后是固定或恒定的。任何尝试修改、添加或删除映射组件的操作都会导致抛出...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India