Home >Backend Development >PHP Tutorial >How to validate mobile number or landline number format with PHP regular expression
When developing web applications, it is often necessary to verify whether the mobile phone number or landline number entered by the user is in the correct format. In order to facilitate verification and prompt the user in time when the input is incorrect, we can use regular expressions in PHP to detect whether the format of the number meets the requirements.
The following will introduce how to use PHP regular expressions to verify the mobile phone number or landline number format.
The mobile phone number in mainland China is 11 digits, starting with 1. You can use the following regular expression for verification:
$phone_pattern = '/^1d{10}$/';
where:
This regular rule The expression is guaranteed to validate 11-digit numbers and conditions starting with 1. Applying it to PHP code, you can get the following example:
function check_mobile($mobile) { $phone_pattern = '/^1d{10}$/'; if (preg_match($phone_pattern, $mobile)) { return true; } else { return false; } } // 示例测试 $mobile = '13712341234'; if (check_mobile($mobile)) { echo "手机号码格式正确"; } else { echo "手机号码格式错误"; }
The landline number format is relatively complex, and the landline number format is different in different regions, such as the landline number in Beijing It is a 10-digit number, starting with the number 1 or 2. The landline number in Shanghai is an 8-digit or 9-digit number, starting with the number 2, etc. In order to implement a universal landline number format verification function, different regular expressions need to be written for different landline number formats.
The following uses landline numbers in Beijing and Shanghai as examples to demonstrate how to write the corresponding regular expressions.
Beijing’s landline number starts with the number 1 or 2, followed by 8 digits. You can use the following regular expression for verification:
$tel_pattern = '/^(010|02d)d{8}$/';
where:
This regular expression can ensure the verification of the condition that the number starts with 1 or 2 and is followed by 8 digits. Applying this to PHP code, you can get the following example:
function check_tel_beijing($tel) { $tel_pattern = '/^(010|02d)d{8}$/'; if (preg_match($tel_pattern, $tel)) { return true; } else { return false; } } // 示例测试 $tel = '01012345678'; if (check_tel_beijing($tel)) { echo "座机号码格式正确"; } else { echo "座机号码格式错误"; }
The landline number in Shanghai starts with the number 2, followed by 8 or 9 digits. You can use the following regular expression for verification:
$tel_pattern = '/^2d{7}(?:d{1})?$/';
where:
This regular expression can ensure the verification of the condition that starts with the number 2 and is followed by 8 or 9 digits. Applying it to PHP code, you can get the following example:
function check_tel_shanghai($tel) { $tel_pattern = '/^2d{7}(?:d{1})?$/'; if (preg_match($tel_pattern, $tel)) { return true; } else { return false; } } // 示例测试 $tel = '0211234567'; if (check_tel_shanghai($tel)) { echo "座机号码格式正确"; } else { echo "座机号码格式错误"; }
Using PHP regular expressions to verify mobile phone number and landline number formats can effectively improve user input data in web applications accuracy. This article introduces how to write regular expressions for verification, which is suitable for most common mobile phone number and landline number formats, and can also be modified and extended as needed.
The above is the detailed content of How to validate mobile number or landline number format with PHP regular expression. For more information, please follow other related articles on the PHP Chinese website!