java-正则表达式判断手机号
时间: 2023-10-28 12:34:24 浏览: 108
可以使用以下正则表达式判断手机号:
```java
String regex = "^1[3-9]\\d{9}$";
```
其中,`^` 表示字符串的开始,`$` 表示字符串的结束,`\\d` 表示任意数字,`{9}` 表示前面的数字重复出现9次,`[3-9]` 表示第二位数字必须是3到9之间的数字,`1` 表示以1开头。
可以使用 `matches()` 方法来判断一个字符串是否符合该正则表达式:
```java
String phone = "13812345678";
if (phone.matches(regex)) {
System.out.println("是手机号");
} else {
System.out.println("不是手机号");
}
```
相关问题
java用正则表达式判断手机号码
以下是Java代码示例,用于检查手机号码是否符合规则:
```
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneNumberValidator {
private static final String PHONE_NUMBER_PATTERN = "^1[3-9]\\d{9}$";
private static final Pattern pattern = Pattern.compile(PHONE_NUMBER_PATTERN);
public static boolean validate(String phoneNumber) {
Matcher matcher = pattern.matcher(phoneNumber);
return matcher.matches();
}
public static void main(String[] args) {
String phoneNumber = "13456789012"; // 有效的手机号码
boolean isValid = validate(phoneNumber);
System.out.println("手机号码是否有效:" + isValid);
phoneNumber = "12345678901"; // 无效的手机号码
isValid = validate(phoneNumber);
System.out.println("手机号码是否有效:" + isValid);
}
}
```
输出:
```
手机号码是否有效:true
手机号码是否有效:false
```
该示例使用正则表达式 `^1[3-9]\\d{9}$` 来验证手机号码。该正则表达式的意思是:以数字 1 开头,后面跟着数字 3-9 中的任意一个数字,然后是任意 9 个数字(总共 11 位数字)。
JAVA利用正则表达式判断手机号是否合法
可以使用Java的正则表达式来判断手机号是否合法。以下是一个示例代码,可以匹配中国大陆的手机号码:
```java
public static boolean isPhoneNumberValid(String phoneNumber) {
String regex = "^1[3456789]\\d{9}$";
return phoneNumber.matches(regex);
}
```
在这个正则表达式中:
- `^` 表示字符串的开头;
- `1` 表示手机号的第一位必须是数字1;
- `[3456789]` 表示手机号的第二位可以是3、4、5、6、7、8、9中的任意一个;
- `\\d{9}` 表示手机号的后9位必须是数字;
- `$` 表示字符串的结尾。
因此,这个正则表达式可以匹配符合条件的手机号。如果传入的手机号符合这个正则表达式,那么 `matches()` 方法将返回 `true`,否则返回 `false`。
阅读全文