正则表达式验证12位手机号
时间: 2023-10-16 14:31:00 浏览: 36
以下是一个可以验证12位手机号的正则表达式:
```
^1\d{11}$
```
解释:
- `^` 表示字符串的开头
- `1` 表示手机号的第一位必须是数字 1
- `\d{11}` 表示接下来必须是 11 个数字
- `$` 表示字符串的结尾
因此,只有符合这个正则表达式的字符串才能被认为是一个 12 位手机号。
相关问题
java实现通过正则表达式验证11位手机号
可以使用如下代码实现:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneValidator {
public static void main(String[] args) {
String phone = "13812345678";
if (isPhoneValid(phone)) {
System.out.println("Valid phone number.");
} else {
System.out.println("Invalid phone number.");
}
}
public static boolean isPhoneValid(String phone) {
String regex = "^1[3-9]\\d{9}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(phone);
return matcher.matches();
}
}
```
其中,正则表达式 `^1[3-9]\\d{9}$` 用于匹配 11 位手机号,其中:
- `^` 表示匹配字符串的开头
- `1` 表示手机号必须以数字 1 开头
- `[3-9]` 表示手机号的第二位数字必须是 3 到 9 之间的任意一个数字
- `\\d{9}` 表示手机号后面必须跟着 9 个数字
- `$` 表示匹配字符串的结尾
最后,使用 `Pattern` 类的 `compile()` 方法编译正则表达式,并使用 `Matcher` 类的 `matches()` 方法匹配手机号。如果匹配成功,则返回 `true`,否则返回 `false`。
正则表达式验证手机号码
以下是使用正则表达式验证中国大陆手机号码的示例:
```python
import re
phone_number = input("请输入手机号码:")
# 以1开头,第二位为3、4、5、7、8,后面跟8位数字
pattern = r"^1[34578]\d{8}$"
if re.match(pattern, phone_number):
print("手机号码格式正确")
else:
print("手机号码格式错误")
```
在上面的代码中,我们使用了 `re` 模块来进行正则表达式匹配,首先定义了一个正则表达式 `pattern`,然后使用 `re.match()` 函数来匹配输入的手机号码是否符合该正则表达式。
其中,`^` 表示字符串的开始位置,`$` 表示字符串的结束位置,`[]` 中的字符表示可选项,`\d` 表示数字,`{8}` 表示需要匹配 8 个数字。