最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP提取字符串中的手機(jī)號正則表達(dá)式怎么寫

 更新時間:2017年07月17日 09:14:41   作者:kompasim  
PHP通過正則表達(dá)式提取字符串中的手機(jī)號并判斷運(yùn)營商,簡單快速方便,能提取多個手機(jī)號。下面通過本文實(shí)例代碼給大家詳細(xì)介紹,需要的的朋友參考下吧

0. 簡介

PHP通過正則表達(dá)式提取字符串中的手機(jī)號并判斷運(yùn)營商,簡單快速方便,能提取多個手機(jī)號。

1. 代碼

<?php
header("content-type:text/plain;charset=utf-8");
function findThePhoneNumbers($oldStr = ""){
  // 檢測字符串是否為空
  $oldStr=trim($oldStr);
  $numbers = array();
  if(empty($oldStr)){
    return $numbers;
  }
  // 刪除86-180640741122,0997-8611222之類的號碼中間的減號(-)
  $strArr = explode("-", $oldStr);
  $newStr = $strArr[0];
  for ($i=1; $i < count($strArr); $i++) { 
    if (preg_match("/\d{2}$/", $newStr) && preg_match("/^\d{11}/", $strArr[$i])){
      $newStr .= $strArr[$i]; 
    } elseif (preg_match("/\d{3,4}$/", $newStr) && preg_match("/^\d{7,8}/", $strArr[$i])) {
      $newStr .= $strArr[$i]; 
    } else {
      $newStr .= "-".$strArr[$i]; 
    } 
  }
  // 手機(jī)號的獲取
  $reg='/\D(?:86)?(\d{11})\D/is';//匹配數(shù)字的正則表達(dá)式
  preg_match_all($reg,$newStr,$result);
  $nums = array();
  // * 中國移動:China Mobile
  // * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
  $cm = "/^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\d)\d{7}$/";
  // * 中國聯(lián)通:China Unicom
  // * 130,131,132,152,155,156,185,186
  $cu = "/^1(3[0-2]|5[256]|8[56])\d{8}$/";
  // * 中國電信:China Telecom
  // * 133,1349,153,180,189
  $ct = "/^1((33|53|8[09])[0-9]|349)\d{7}$/";
  //
  foreach ($result[1] as $key => $value) {
    if(preg_match($cm,$value)){
      $nums[] = array("number" => $value, "type" => "中國移動");
    }elseif(preg_match($cu,$value)){
      $nums[] = array("number" => $value, "type" => "中國聯(lián)通");
    }elseif(preg_match($ct,$value)){
      $nums[] = array("number" => $value, "type" => "中國電信");
    }else{
      // 非法號碼
    }
  }
  $numbers["mobile"] = $nums;
  // 固定電話或小靈通的獲取
  $reg='/\D(0\d{10,12})\D/is';//匹配數(shù)字的正則表達(dá)式
  preg_match_all($reg,$newStr,$result);
  $nums = array();
  // * 大陸地區(qū)固定電話或小靈通
  // * 區(qū)號:010,020,021,022,023,024,025,027,028,029
  // * 號碼:七位或八位
  $phs = "/^0(10|2[0-5789]|\d{3})\d{7,8}$/";
  foreach ($result[1] as $key => $value) {
    if(preg_match($phs, $value)){
      $nums[] = array("number" => $value, "type" => "固定電話或小靈通");
    } else {
      // 非法
    }
  }
  $numbers["landline"] = $nums;
  // 有可能是沒有區(qū)號的固定電話的獲取
  $reg='/\D(\d{7,8})\D/is';//匹配數(shù)字的正則表達(dá)式
  preg_match_all($reg,$newStr,$result);
  $nums = array();
  foreach ($result[1] as $key => $value) {
    $nums[] = array("number" => $value, "type" => "沒有區(qū)號的固定電話");
  }
  $numbers["possible"] = $nums;
  // 返回最終數(shù)組
  return $numbers;
}
// 測試數(shù)據(jù)
$str = "this(8625010) is a number, and the another is here(09978625000) ,the phone number is 18064074452 and 13899555555。這是中文,這里有個13239323232的手機(jī)號,還有一個188779988441這是12位8613322114455的。這里又是一個手機(jī)號86-18064074455。還有一個區(qū)號分開寫的0997-8625001hahaha";
$nums = findThePhoneNumbers($str);
print_r($nums);

2. 測試結(jié)果

Array
(  [mobile] => Array
    (
      [0] => Array
        (
          [number] => 18064074452
          [type] => 中國電信
        )
      [1] => Array
        (
          [number] => 13899555555
          [type] => 中國移動
        )
      [2] => Array
        (
          [number] => 13239323232
          [type] => 中國聯(lián)通
        )
      [3] => Array
        (
          [number] => 13322114455
          [type] => 中國電信
        )
      [4] => Array
        (
          [number] => 18064074455
          [type] => 中國電信
        )
    )
  [landline] => Array
    (
      [0] => Array
        (
          [number] => 09978625000
          [type] => 固定電話或小靈通
        )
      [1] => Array
        (
          [number] => 09978625001
          [type] => 固定電話或小靈通
        )
    )
  [possible] => Array
    (
      [0] => Array
        (
          [number] => 8625010
          [type] => 沒有區(qū)號的固定電話
        )
    )
)

3. 結(jié)果解析

mobile 移動電話號碼
landline 固定電話或者小靈通
possible 可能是沒有區(qū)號的固定電話

以上所述是小編給大家介紹的PHP提取字符串中的手機(jī)號正則表達(dá)式怎么寫,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Laravel框架控制器,視圖及模型操作圖文詳解

    Laravel框架控制器,視圖及模型操作圖文詳解

    這篇文章主要介紹了Laravel框架控制器,視圖及模型操作,結(jié)合實(shí)例形式詳細(xì)分析了laravel框架控制器,視圖及模型的基本功能、原理與相關(guān)操作使用技巧,需要的朋友可以參考下
    2019-12-12
  • php設(shè)置session值和cookies的學(xué)習(xí)示例

    php設(shè)置session值和cookies的學(xué)習(xí)示例

    一直沒弄懂Session,cookies什么的登陸驗(yàn)證到底是怎么回事,昨天分別用HttpURLConnection和HttpClient兩個類來實(shí)驗(yàn)了一下,基本弄明白了Session驗(yàn)證登陸的機(jī)制和這兩個類的區(qū)別?,F(xiàn)在分享給大家
    2014-03-03
  • Yii框架日志記錄Logging操作示例

    Yii框架日志記錄Logging操作示例

    這篇文章主要介紹了Yii框架日志記錄Logging操作,結(jié)合實(shí)例形式分析了Yii框架日志記錄Logging模塊相關(guān)配置與簡單使用技巧,需要的朋友可以參考下
    2018-07-07
  • PHP curl模擬登錄帶驗(yàn)證碼的網(wǎng)站

    PHP curl模擬登錄帶驗(yàn)證碼的網(wǎng)站

    最近接了個項(xiàng)目,其中有需求是要登錄帶驗(yàn)證碼的網(wǎng)站,獲取數(shù)據(jù),但是我們不可能人為的一直去記錄數(shù)據(jù),想通過自動采集的方式進(jìn)行,下面小編給大家?guī)淼南嚓P(guān)代碼,對php curl 模擬登錄帶驗(yàn)證碼的網(wǎng)站感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • yii框架使用分頁的方法分析

    yii框架使用分頁的方法分析

    這篇文章主要介紹了yii框架使用分頁的方法,結(jié)合實(shí)例形式分析了兩種Yii框架分頁的實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • PHP實(shí)現(xiàn)PDF轉(zhuǎn)圖片的詳細(xì)過程(使用imagick)

    PHP實(shí)現(xiàn)PDF轉(zhuǎn)圖片的詳細(xì)過程(使用imagick)

    最近有一份pdf文件,需要將其轉(zhuǎn)換成圖片,所以這篇文章主要給大家介紹了關(guān)于PHP實(shí)現(xiàn)PDF轉(zhuǎn)圖片的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 簡單解決新浪SAE無法上傳文件的問題

    簡單解決新浪SAE無法上傳文件的問題

    這篇文章主要介紹了簡單解決新浪SAE無法上傳文件的問題,不知道到底是新浪的BUG還是我個人的問題,分享給大家吧。
    2015-05-05
  • 基于laravel-admin 后臺 列表標(biāo)簽背景的使用方法

    基于laravel-admin 后臺 列表標(biāo)簽背景的使用方法

    今天小編就為大家分享一篇基于laravel-admin 后臺 列表標(biāo)簽背景的使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Laravel5.1 框架控制器基礎(chǔ)用法實(shí)例分析

    Laravel5.1 框架控制器基礎(chǔ)用法實(shí)例分析

    這篇文章主要介紹了Laravel5.1 框架控制器基礎(chǔ)用法,結(jié)合實(shí)例形式分析了laravel5.1框架控制器的基本原理、定義與使用方法,需要的朋友可以參考下
    2020-01-01
  • php preg_match的匹配不同國家語言實(shí)例

    php preg_match的匹配不同國家語言實(shí)例

    這篇文章主要介紹了php preg_match的匹配不同國家語言實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2016-12-12

最新評論

仁布县| 尉犁县| 伊宁县| 休宁县| 江津市| 二连浩特市| 揭东县| 洛隆县| 财经| 东乡族自治县| 什邡市| 门源| 马山县| 沁源县| 开远市| 林周县| 北碚区| 察哈| 沂水县| 新津县| 宾川县| 寿宁县| 绵阳市| 十堰市| 临潭县| 大宁县| 福贡县| 凤山县| 中宁县| 深水埗区| 西峡县| 新密市| 驻马店市| 海门市| 平遥县| 安国市| 甘德县| 青田县| 寻甸| 贵德县| 图片|