JAVA利用正则表达式判断手机号是否合法,要求有输入流
时间: 2023-07-12 07:15:11 浏览: 87
可以使用Java的正则表达式库和输入流来实现手机号的合法性判断。以下是一个示例代码:
```java
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneValidation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入手机号码:");
String phoneNumber = scanner.nextLine();
scanner.close();
if (isValidPhoneNumber(phoneNumber)) {
System.out.println("手机号码合法。");
} else {
System.out.println("手机号码不合法。");
}
}
public static boolean isValidPhoneNumber(String phoneNumber) {
// 定义手机号码的正则表达式
String regex = "^1[3-9]\\d{9}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phoneNumber);
return matcher.matches();
}
}
```
在上述代码中,首先通过 `Scanner` 类从标准输入流中读取用户输入的手机号码,然后将该手机号码作为参数传递给 `isValidPhoneNumber` 方法进行合法性判断。该方法中使用了正则表达式来定义手机号码的合法格式,然后使用 `Pattern` 类的 `compile` 方法将该正则表达式编译成模式,再使用 `Matcher` 类的 `matches` 方法来匹配手机号码和模式。最后,如果匹配成功,则返回 `true`,否则返回 `false`。
阅读全文