php验证手机号码
大家都应该有这个常识,中国的手机号码都是以数字“1”开头,然后利用“0~9”10个数字组成的11位数字组合,那么我们的验证规则肯定要根据这个思路来写。
根据上面的简单思路,我们便可以写下以下的验证代码,代码如下:
<?php
//本代码仅仅是提供一些思路
//距离实际应用还有一些距离
$mobile = '';
//下面的1便是手机的第一位数字必须为数字1
//[0-9]指后面的数字均为0~9的数字
//{9}这中间的9指的是手机号码除了第一位数外,其他要重复10次,刚好就是11位数了
if(!preg_match('/^1([0-9]{9})/',$mobile)) exit('您的手机号码不正确');
?>
但上面的代码显然是不够严谨的,因为这样,即使“18888888888”这样的手机号码也能通过验证了,因此我们还要对其进行更为严格的验证,在严格之前请让我们先来看看中国常见的手机号码前三位都有那些:
移动手机号码:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通手机号码:130、131、132、152、155、156、185、186
电信手机号码:133、153、180、189、(1349卫通)
那么根据上面的特征,我们就可以将代码修改成这样的规则了,代码如下:
<?php
function checkMobile($str)
{
$pattern = “/^(|)d{}$/”;
if (preg_match($pattern,$str))
{
Return true;
}
else
{
Return false;
}
}
//调用函数
$str = checkMobile(“″);
if($str)
{
echo(“符合手机号码标准”);
}
else
{
echo(“不符合手机号码标准”);
}
?>
上面只能骓13,15开头的,如果有新段就不行了,我们可加以修改,代码如下:
function is_mobile($str){
return preg_match("/^(((d{3}))|(d{3}-))?13d{9}$/", $str);
}
这样就可以验证所有的手机号码了,整个解析思路环环相扣,针对php验证手机号码进行详细分析,得出解决方法。
php验证手机号码的更多相关文章
- jquery验证手机号码和固定电话号码
<pre name="code" class="javascript"> //验证手机号码或者电话号码 function checkContactN ...
- jquery验证手机号码、邮箱格式是否正确示例代码
本文为大家介绍下使用jquery验证邮箱.验证手机号码,具体实现思路及代码如下,感兴趣的朋友可以学习下 复制代码代码如下: //jquery验证邮箱 function checkSubmitEmai ...
- JS和正则表达式验证手机号码、邮箱等
<-------------------------------------验证手机号码---------------------------------------------> fun ...
- java验证手机号码是否合法
公司开发新功能须要验证手机号码,遂自己写了个出来,暂仅仅支持中国大陆手机号验证.如有不妥之处,还望大家指教,感激不尽! /** * 验证是否是正确合法的手机号码 * * @param telephon ...
- js 验证手机号码
js 验证手机号码 //验证手机号 function isMobel(value) { if (/^1[3-8]+\d{9}$/g.test(value)) { ...
- easyUI 验证控件应用、自己定义、扩展验证 手机号码或电话话码格式
easyUI 验证控件应用.自己定义.扩展验证 手机号码或电话话码格式 在API中 发现给的demo 中没有这个验证,所以就研究了下. 相关介绍省略,直接上代码吧! watermark/2/tex ...
- 最新JS正则表达式验证手机号码(2019)
根据移动.联通.电信的电话号码号段,实现一个简单的正则表达式来验证手机号码: // 手机号校验 export function isPhoneNumber(phoneNum) { // let reg ...
- java 验证手机号码、电话号码(包括最新的电信、联通和移动号码)
一.目前的号码段(2016-12-8更新) 二.代码 package com.test; import java.util.regex.Pattern; public class CheckPho ...
- jquery实践案例--验证手机号码
如果要做手机号的验证,那么我们需要知道手机号码的号段. 182 183 187 188 155 156 176 186 189 //移动运营商:170 移动: 2G号段(GSM):134-139.15 ...
随机推荐
- [HDU 4417] Super Mario (树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4417 题目大意:给你n个数,下标为0到n-1,m个查询,问查询区间[l,r]之间小于等于x的数有多少个 ...
- ubuntu14.04配置Hive1.2.1
1.添加环境变量:vi ~/.bashrc #HIVE VARIABLES START export HIVE_HOME=/usr/local/hive-1.2.1 export PATH=$PATH ...
- SQL执行的原理以及一些常见的关键字
sql语句在面试里面问道的问题: sql的解析的顺序 1.where里面的条件是从右向左扫描解析 2.from里面的大表在前,小表在后,解析的顺序是从右向左解析. 3.left/right/inner ...
- 最小二乘拟合(转)good
在物理实验中经常要观测两个有函数关系的物理量.根据两个量的许多组观测数据来确定它们的函数曲线,这就是实验数据处理中的曲线拟合问题.这类问题通常有两种情况:一种是两个观测量x与y之间的函数形式已知,但一 ...
- Java垃圾收集器之--Garbage-First Collector
简介 Garbage-First(G1)垃圾收集器全面支持JDK7 Upate 4及后续版本.G1收集器是一个服务器形式(server-style)的垃圾收集器,主要用于内存大.多处理器的 ...
- Flex4 自定义通用的ImageButton
Flex4与之前版本的一个极大区别就是外观皮肤的分离,虽然进一步解耦,但存在一个不爽的地方就是增加了编码的工作量,你能想象为你的每个自定义组件都写一个对应的皮肤吗?可能仅仅和你之前写过的组件差了那么一 ...
- 在ASPxGridView的主从表显示中,有什么属性可以只让其每次选择只展开一列?
在ASPxGridView的主从表显示中,有什么属性可以只让其每次选择只展开一列?(效果图如下:): 在ASPxGridView的主从表显示中,有什么属性可以只让其每次选择只展开一列(效果图) 实现该 ...
- 中断是CPU的机制
中断是CPU的机制,不管运行的是什么操作系统,只有是运行于x86架构,IDT结构式必然存在的.IDT表中的ISRs应该有操作系统提供
- IoGetDeviceObjectPointer .
从名字获得设备对象 驱动的起始地址,大小等信息.
- nagios架构及windows,linux客户端配置
Linux下Nagios的安装与配置 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等. ...