手机号正则表达式 php
时间: 2023-06-29 07:09:28 浏览: 69
以下是一个基于中国手机号规则的 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
其中,加号是可选的,国家代码最多可以是三位数,区号可以用括号括起来,分隔符可以是空格、连字符或点号。
使用正则表达式检验手机号是否合法
使用正则表达式检验手机号是否合法的方法如下:
1. JavaScript示例:
```javascript
function validatePhoneNumber(phoneNumber) {
var regex = /^1[3-9]\d{9}$/;
return regex.test(phoneNumber);
}
var phoneNumber1 = "13812345678";
var phoneNumber2 = "12345678901";
console.log(validatePhoneNumber(phoneNumber1)); // 输出:true
console.log(validatePhoneNumber(phoneNumber2)); // 输出:false
```
2. PHP示例:
```php
function validatePhoneNumber($phoneNumber) {
$regex = '/^1[3-9]\d{9}$/';
return preg_match($regex, $phoneNumber);
}
$phoneNumber1 = "13812345678";
$phoneNumber2 = "12345678901";
echo validatePhoneNumber($phoneNumber1); // 输出:1
echo validatePhoneNumber($phoneNumber2); // 输出:0
```
3. Java示例:
```java
public class PhoneNumberValidator {
public static void main(String[] args) {
String phoneNumber1 = "13812345678";
String phoneNumber2 = "12345678901";
System.out.println(validatePhoneNumber(phoneNumber1)); // 输出:true
System.out.println(validatePhoneNumber(phoneNumber2)); // 输出:false
}
public static boolean validatePhoneNumber(String phoneNumber) {
String regex = "^1[3-9]\\d{9}$";
return phoneNumber.matches(regex);
}
}
```