java 验证手机号
时间: 2024-08-02 12:01:41 浏览: 107
Java验证手机号正则表达式
在 Java 中验证手机号码通常需要检查号码是否符合中国大陆手机号的基本格式,并且可以利用正则表达式来完成这个任务。中国大陆手机号一般是以11位数字组成,前三位代表运营商,如13、14、15等,中间8位是用户号码,最后四位是验证码。以下是一个简单的示例:
```java
import java.util.regex.Pattern;
public class PhoneNumberValidator {
private static final String MOBILE_NUMBER_PATTERN = "^((13[0-9]|14[5|7]|15[^4\\D]|17[0|1|3|5|6|7|8|9])\\d{8})$";
public static boolean isValid(String phoneNumber) {
Pattern pattern = Pattern.compile(MOBILE_NUMBER_PATTERN);
return pattern.matcher(phoneNumber).matches();
}
// 示例用法
public static void main(String[] args) {
System.out.println(isValid("13812345678")); // 输出 true
System.out.println(isValid("12345678901")); // 输出 false 或者抛异常(如果pattern没有匹配)
}
}
```
在这个例子中,`isValid()` 方法会使用 `Pattern` 和 `Matcher` 来判断输入的字符串是否符合预设的手机号正则表达式。请注意,这只是一个基础验证,实际场景下可能还需要考虑一些特殊情况,比如国际长途号、携号转网后的号码等。
阅读全文