java 正则判断是否为手机号
时间: 2023-10-20 10:36:25 浏览: 163
可以使用如下的正则表达式来判断是否为手机号:
```
String pattern = "^1[3-9]\\d{9}$";
String phoneNumber = "13888888888";
boolean isMatch = phoneNumber.matches(pattern);
System.out.println(isMatch); // 输出 true
```
解释:
- `^` 表示字符串的开始
- `1` 表示以 1 开头
- `[3-9]` 表示第二位的数字在 3~9 之间
- `\\d{9}` 表示后面跟着 9 个数字
- `$` 表示字符串的结尾
这个正则表达式可以匹配以 1 开头,第二位为 3~9 的十一位数字,即符合手机号的格式。
相关问题
java正则判断11位手机号码_Java正则表达式判断手机号的例子
Java正则表达式判断手机号的例子:
```java
public static boolean isPhoneNumber(String phone) {
String regex = "^1[3|4|5|6|7|8|9]\\d{9}$";
return Pattern.matches(regex, phone);
}
```
上面的代码中,使用了正则表达式 `^1[3|4|5|6|7|8|9]\\d{9}$` 来判断手机号是否合法。其中:
- `^` 表示字符串的开头
- `1` 表示手机号的第一位必须是1
- `[3|4|5|6|7|8|9]` 表示手机号的第二位必须是3、4、5、6、7、8或9中的一个
- `\\d{9}` 表示手机号的后9位必须是数字
- `$` 表示字符串的结尾
如果需要判断是否为11位手机号,可以稍微修改一下正则表达式,如下所示:
```java
public static boolean isElevenPhoneNumber(String phone) {
String regex = "^1[3|4|5|6|7|8|9]\\d{8}\\d$";
return Pattern.matches(regex, phone);
}
```
其中,`\d{8}\\d` 表示手机号必须是11位数字。
java 正则判断手机号是不是192开头
使用Java正则表达式可以判断手机号是否以192开头。可以使用以下正则表达式进行匹配:^192\d{7}$。其中,^表示匹配字符串的开头,192表示要匹配的数字序列,\d表示匹配任意数字,{7}表示匹配前一个元素7次,$表示匹配字符串的结尾。
示例代码如下:
```java
String phoneNumber = "1921234567";
String regex = "^192\\d{7}$";
boolean isMatch = phoneNumber.matches(regex);
if (isMatch) {
System.out.println("手机号以192开头");
} else {
System.out.println("手机号不以192开头");
}
```
阅读全文