练习-java字符串之正则表达式之匹配手机号码
时间: 2023-06-05 15:47:06 浏览: 831
正则表达式可以用来匹配手机号码,以下是一个示例:
```java
String regex = "^1[3-9]\\d{9}$";
String phoneNumber = "13812345678";
if (phoneNumber.matches(regex)) {
System.out.println("手机号码格式正确");
} else {
System.out.println("手机号码格式不正确");
}
```
这个正则表达式的含义是:
- `^` 表示字符串的开头
- `1` 表示手机号码的第一位必须是 1
- `[3-9]` 表示手机号码的第二位可以是 3-9 中的任意一个数字
- `\\d{9}` 表示手机号码的后面 9 位必须是数字
- `$` 表示字符串的结尾
因此,这个正则表达式可以匹配所有以 1 开头,第二位是 3-9 中的任意一个数字,后面跟着 9 个数字的手机号码。
相关问题
练习-Java字符串之正则表达式之匹配手机号码
在Java中,正则表达式是一种强大的文本处理工具,用于验证手机号码的格式是一个常见的应用场景。中国常用的手机号码通常由11位数字组成,格式可以是13、14、15、17、18、19开头,后面跟着8到11位数字。下面是一个简单的示例,展示如何使用正则表达式来匹配中国大陆手机号码:
```java
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Main {
public static void main(String[] args) {
String regex = "^((13[0-9])|(14[5|7])|(15[^4,\\D])|(17[0-9])|(18[0-9]|19[8|9]))\\d{8}$";
Pattern pattern = Pattern.compile(regex);
// 手机号码样例
String phoneNumber = "13812345678";
if (pattern.matcher(phoneNumber).matches()) {
System.out.println("手机号码格式正确");
} else {
System.out.println("手机号码格式错误");
}
}
}
```
在这个例子中,`^` 表示开始,`\d{8}` 表示8位数字,`$` 表示结束。各个段落中的数字代表特定的区号范围。需要注意的是,这只是一个基础的验证,并不能涵盖所有可能的特殊情况,比如特殊服务号码或国际长途电话。
头歌练习-Java字符串之正则表达式之匹配手机号码
头歌练习中的Java字符串正则表达式用于验证手机号码通常涉及到一种常见的模式识别,中国手机号码的常见格式一般包含11位数字,前几位可能是区号加上用户号码。下面是一个简单的例子,展示如何使用正则表达式来匹配中国的手机号码:
```java
String regex = "^1[3-9]\\d{9}$"; // 匹配以1开头的中国移动、中国联通号码,后跟9位数字
public boolean isValidPhoneNumber(String phoneNumber) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phoneNumber);
return matcher.matches();
}
// 使用示例
if (isValidPhoneNumber("13812345678")) {
System.out.println("手机号码有效");
} else {
System.out.println("手机号码无效");
}
```
这个正则表达式的解释:
- `^` 表示字符串开始。
- `1[3-9]` 匹配以1开头,并且第二位是3到9之间的数字(代表中国移动和联通的号码)。
- `\d{9}` 匹配连续的9个数字。
- `$` 表示字符串结束。
阅读全文