java实现通过正则表达式验证11位手机号
时间: 2023-10-30 14:05:24 浏览: 86
可以使用如下代码实现:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneValidator {
public static void main(String[] args) {
String phone = "13812345678";
if (isPhoneValid(phone)) {
System.out.println("Valid phone number.");
} else {
System.out.println("Invalid phone number.");
}
}
public static boolean isPhoneValid(String phone) {
String regex = "^1[3-9]\\d{9}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phone);
return matcher.matches();
}
}
```
其中,正则表达式 `^1[3-9]\\d{9}$` 用于匹配 11 位手机号,其中:
- `^` 表示匹配字符串的开头
- `1` 表示手机号必须以数字 1 开头
- `[3-9]` 表示手机号的第二位数字必须是 3 到 9 之间的任意一个数字
- `\\d{9}` 表示手机号后面必须跟着 9 个数字
- `$` 表示匹配字符串的结尾
最后,使用 `Pattern` 类的 `compile()` 方法编译正则表达式,并使用 `Matcher` 类的 `matches()` 方法匹配手机号。如果匹配成功,则返回 `true`,否则返回 `false`。
阅读全文