java 手机号正则表达式
时间: 2023-07-17 07:57:31 浏览: 114
手机号的正则表达式可以如下所示:
```java
String regex = "^(\\+\\d{1,3}[- ]?)?1\\d{10}$";
```
这个正则表达式可以匹配以下格式的手机号:
- 11位数字的手机号,例如:13812345678
- 带有国家/地区代码的手机号,例如:+86 13812345678
你可以使用 `Pattern` 和 `Matcher` 类来进行手机号的匹配操作。下面是一个示例代码:
```java
import java.util.regex.*;
public class Main {
public static void main(String[] args) {
String regex = "^(\\+\\d{1,3}[- ]?)?1\\d{10}$";
Pattern pattern = Pattern.compile(regex);
String phoneNumber1 = "13812345678";
String phoneNumber2 = "+86 13812345678";
String phoneNumber3 = "12345678901";
System.out.println(pattern.matcher(phoneNumber1).matches()); // true
System.out.println(pattern.matcher(phoneNumber2).matches()); // true
System.out.println(pattern.matcher(phoneNumber3).matches()); // false
}
}
```
请注意,以上代码仅展示了如何使用正则表达式匹配手机号,实际应用中,你可能需要根据具体需求对正则表达式进行适当调整。
阅读全文