Everyone should have this common sense. Chinese mobile phone numbers all start with the number "1", and then use "0~9" An 11-digit combination composed of 10 numbers, then our verification rules must be written based on this idea.
Based on the simple idea above, we can write the following verification code, the code is as follows:
<?php //本代码仅仅是提供一些思路 //距离实际应用还有一些距离 $mobile = '15858588585'; //下面的1便是手机的第一位数字必须为数字1 //[0-9]指后面的数字均为0~9的数字 //{9}这中间的9指的是手机号码除了第一位数外,其他要重复10次,刚好就是11位数了 if(!preg_match('/^1([0-9]{9})/',$mobile)) exit('您的手机号码不正确'); ?>
But the above code is obviously not rigorous enough, because in this way, even a mobile phone number like "18888888888" can pass the verification, so we have to conduct more stringent verification on it. Please let us do it before being strict. Let’s take a look at the first three common mobile phone numbers in China:
Mobile phone number: 134, 135, 136, 137, 138, 139, 150, 151, 157(TD), 158, 159, 187, 188
China Unicom mobile phone number: 130, 131, 132, 152, 155, 156, 185, 186
Telecom mobile phone number: 133, 153, 180, 189, (1349 Satcom)
Then based on the above characteristics, we can modify the code to such a rule. The code is as follows:
<?php function checkMobile($str) { $pattern = “/^(13|15)d{9}$/”; if (preg_match($pattern,$str)) { Return true; } else { Return false; } } //调用函数 $str = checkMobile(“15800000001″); if($str) { echo(“符合手机号码标准”); } else { echo(“不符合手机号码标准”); } ?>
The above can only start with 13 or 15. If there are new paragraphs, it will not work. We can modify it. The code is as follows:
function is_mobile($str){ return preg_match("/^(((d{3}))|(d{3}-))?13d{9}$/", $str); }
In this way, all mobile phone numbers can be verified. The entire analysis idea is closely linked. A detailed analysis of the PHP mobile phone number verification is carried out to find a solution.
The above is the method of verifying mobile phone numbers in PHP shared with you. I hope it will be helpful to your study.