Mobile Number Validation in Java2025年5月7日 | 阅读 5 分钟 每个国家都有自己的手机号码格式。要为每个国家验证手机号码很困难。因此,在本节中,我们将学习如何使用 正则表达式 和 Google 的 libphonenumber API 在 Java 中验证手机号码。在本节中,我们将创建 Java 程序来仅验证印度和美国的号码格式。基于这两个国家,我们可以通过对代码进行一些修改来验证其他国家的手机号码。 美国手机号码格式印度手机号码格式如何验证手机号码?在 Java 中有两种验证手机号码的方法
使用正则表达式使用 Pattern 类Pattern 类属于 java.util.regex 包。它提供 compile() 方法,该方法将给定的正则表达式编译成一个模式。它接受要编译的正则表达式字符串。 语法 该类还提供了 matcher() 方法,该方法创建一个匹配器,该匹配器将根据此模式匹配给定输入。它接受要匹配的字符序列。 语法 我们在以下程序中使用的另一个类是 Matcher 类。它是一个最终类,通过解释 Pattern 来对 字符序列 执行匹配操作。请注意,匹配器是从模式创建的。 该类提供 find() 方法,该方法查找输入序列中与模式匹配的下一个子序列。它从此匹配器的区域开头开始,或者如果在之前的调用方法成功。当且仅当输入序列的子序列匹配此匹配器的模式时,它才返回 true。 该类的 group() 方法返回上一个匹配所匹配的输入子序列。 String 类的 equals(obj) 方法将字符串与指定对象进行比较,并且当且仅当参数不为 null 且为字符串对象时才返回 true。 MobileNumberValidation.java 输出 It is a valid mobile number. 使用 String.matches() 方法在下面的程序中,我们使用了 Java String 类的 matches() 方法。它告诉字符串是否与正则表达式匹配。 语法 该方法接受一个 String 类型的参数,称为正则表达式,并返回一个 Boolean 值。如果正则表达式语法无效,它将抛出 PatternSyntaxException。 MobileNumberValidation1.java 输出 ![]() 如果我们采用上述方法,我们需要进行大量的测试工作来覆盖所有情况。但如果我们有一个提供此功能的 API,并且经过了适当的测试,那么将其用于我们的应用程序将会很好。 使用 Google libphonenumber APIlibphonenumber 是 Google 提供的一个开源库。它提供了诸如解析、格式化、验证和存储国际电话号码等功能。该库的 Java 版本针对智能手机运行进行了优化,并且自 4.0 版本以来一直被 Android 框架使用。 该 API 支持以下类型的号码
注意:运行程序之前,请确保 libphonenumber-8.12.24.jar 文件已添加到项目中。在下面的程序中,我们使用了 PhoneNumberUtil 类,它提供了 getInstance()、isValidNumber() 和 parse() 方法。 MobileNumberValidation2.java 输出 ![]() |
提供了广泛的库支持。这些库以包的形式组织,提供了一套丰富的工具和函数,可简化开发、增加代码重用并促进维护。在本综合章节中,我们将探讨 Java 包、其目的、特殊功能以及它们如何为整体...
阅读 8 分钟
在本节中,我们将学习如何创建一个 Java 程序来查找三个数字中的最大值。此外,我们还将学习如何使用三元运算符在 Java 中查找三个数字中的最大值。使用三元运算符 在继续学习程序之前,让我们……
阅读 3 分钟
在 Java 中,要将数字分解成各位数,我们必须了解 Java 的 while 循环、模运算符和除法运算符。Java 中的模运算符用于确定余数,而除法运算符则给出商作为结果。在本节中,我们创建了 Java 程序……
阅读 3 分钟
Java 是一种通用且广泛使用的编程语言,多年来不断发展,提供了丰富的功能集。Java 受欢迎的关键因素之一是它能够满足各种应用程序类型的需求。在本节中,我们将深入探讨...
阅读 4 分钟
为了实现并行,Java 开发人员有时必须在多进程和多线程之间做出决定。这两种方法都有优点和缺点,因此了解它们之间的区别可以帮助我们为特定需求选择最佳方法。Java 中的多线程 划分过程...
阅读 3 分钟
在 Java 中,BiFunction 是一个函数式接口。它在 Java 8 中引入。它可以用作 lambda 表达式或方法引用的赋值目标。它属于 java.util.function 包。@FunctionalInterface public interface BiFunction<T,U,R> 该接口接受三个类型参数,如下所示: T:表示第一个...
阅读 2 分钟
本机方法是在 Java 中声明的一种方法,其实际代码在 Java 环境之外运行,通常用 C、C++ 或汇编语言编写。我们使用 native 关键字标记一个方法,并且不在 Java 类中提供其主体。相反,...
阅读 6 分钟
移位运算符是一种用于数据位操作的特殊类型运算符。它将第一个操作数的位向左或向右移动。Java 中有以下三种移位运算符:右移运算符 (>>) 左移运算符 (<<) 无符号...
5 分钟阅读
由计算机科学家 Robert Floyd 命名的、包含连续自然整数的直角三角形称为 Floyd 三角形。它通过从 1 开始按顺序放置数字来创建,每一行比前一行多一个数字。该行和...
阅读 4 分钟
在 Java 中,java.lang.Throwable.toString() 方法是获取异常或错误的简洁描述的内置方法。它常用于日志记录或调试,当我们想要程序出错的快速摘要时。语法:public String toString() 它返回一个简短的...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India