PHP正则应用05 —— 匹配手机号(全匹配、字符串型匹配、单词型匹配)

/*
给定一组手机号,必须由[01235689]组成的,才选出来从哪儿找?
从字符串的开始找,找到字符串的结束^ $找谁[01235689]找几个?
11个
*/

$arr = array('13824234323','13426321756','123456','1845349634789097');

// 匹配出11位数的号码
$patt = '/^[0123456789]{11}$/';
// 格式 '/^ $/'

foreach($arr as $k => $v) {
    preg_match_all($patt,$v,$rce);
    var_dump($rce);
}
/*
array (size=1)
  0 => 
    array (size=1)
      0 => string '13824234323' (length=11)

array (size=1)
  0 => 
    array (size=1)
      0 => string '13426321756' (length=11)

array (size=1)
  0 => 
    array (size=0)
      empty

array (size=1)
  0 => 
    array (size=0)
      empty
*/



$str = '老王,买的发色积分,联系13800138000,备用电话18934235322,么么号442313421213253'; 

$patt = '/1[3587]\d{9}/';

preg_match_all($patt,$str,$res);

var_dump($res);
/*
array (size=1)
  0 => 
    array (size=3)
      0 => string '13800138000' (length=11)
      1 => string '18934235322' (length=11)
      2 => string '13421213253' (length=11)
*/

连不是手机号的也找出来了


$str = '老王,买的发色积分,联系13800138000,备用电话18934235322,么么号442313421213253'; 

$patt = '/^1[3587]\d{9}$/';

preg_match_all($patt,$str,$res);

var_dump($res);
/*
array (size=1)
  0 => 
    array (size=0)
      empty
*/

一个都找不到因为:
联系13800138000 开头是联系
备用电话同理


$str = '老王,买的发色积分,联系13800138000,备用电话18934235322,么么号442313421213253'; 

$patt = '/\b1[3587]\d{9}\b/';

preg_match_all($patt,$str,$res);

var_dump($res);
/*
array (size=1)
  0 => 
    array (size=2)
      0 => string '13800138000' (length=11)
      1 => string '18934235322' (length=11)
*/

单词开头结尾的匹配
对中文不认识

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值