手机号正则表达式 php
时间: 2023-06-29 21:09:28 浏览: 113
以下是一个基于中国手机号规则的 PHP 正则表达式:
```php
$pattern = '/^1[3-9]\d{9}$/';
```
解释如下:
- `^` 表示匹配字符串的开头
- `1` 表示必须以数字 1 开头
- `[3-9]` 表示第二位可以是数字 3 到 9 中任意一个
- `\d` 表示任意一个数字
- `{9}` 表示必须是连续的 9 个数字
- `$` 表示匹配字符串的结尾
这个正则表达式可以匹配符合中国手机号规则的 11 位数字串。
相关问题
php的正则表达式国外手机号
以下是匹配国外手机号码的 PHP 正则表达式:
```php
/^\+?\d{1,3}\s?[-.\s]?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$/i
```
该正则表达式可以匹配以下格式的国外手机号码:
- +1 123-456-7890
- +44 123 456 7890
- +86 12345678901
- +91 (123) 456-7890
其中,加号是可选的,国家代码最多可以是三位数,区号可以用括号括起来,分隔符可以是空格、连字符或点号。
PHP写出匹配验证身份证号码和手机号的正则表达式完整示例
在PHP中,编写正则表达式用于验证身份证号码和手机号码是非常常见的任务。这里提供两个独立的正则表达式示例:
1. 验证中国身份证号码:
```php
$regex_id = '/^(^\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/'; // 15位数字,18位数字(最后一位可能是0-9或X/x)
function isValidID($id) {
return preg_match($regex_id, $id);
}
$id_number = "123456789012345678"; // 示例身份证号码
if (isValidID($id_number)) {
echo "身份证号码有效";
} else {
echo "身份证号码无效";
}
```
2. 验证中国大陆手机号码(去掉前缀"13", "14", "15", "17", "18", "19"):
```php
$regex_phone = '/^1[3-9]\d{9}$/';
function isValidPhone($phone) {
return preg_match($regex_phone, $phone);
}
$mobile_number = "13800138000"; // 示例手机号码
if (isValidPhone($mobile_number)) {
echo "手机号码有效";
} else {
echo "手机号码无效";
}
```
阅读全文