溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

發(fā)布時(shí)間:2021-06-10 12:01:38 來(lái)源:億速云 閱讀:273 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

PHP中我們?cè)趺醋远x匹配手機(jī)號(hào)的正則表達(dá)式?

對(duì)于手機(jī)號(hào)而言,我們都知道在大陸,一般都是以1開(kāi)頭,中間第兩位可能是3 4 5 7 8 ;如果第二位是3,第三位就可能是0-9,如果第二位是4,第三位就可能是7,

如果第二位是5,第三位就可能是0-8,如果第二位是7,第三位是0-8,如果第二位是8,第三位就可能是0-9,后面8位任意組合,當(dāng)我們拿到手機(jī)號(hào)之后,我們就要進(jìn)行正則匹配,輸入($pattre),對(duì)于手機(jī)號(hào)而言,我們需要精確匹配,所以我們需要加入(^$),我們以1開(kāi)頭,以\d{8}結(jié)束,此時(shí)我們需要加括號(hào)需要進(jìn)行修飾,如果說(shuō)我們的第三位是3,那么我們的第三位就可以是0-9,這是我們的第一種情況

緊接著,我們輸入一個(gè)字段,然后進(jìn)行匹配;

代碼演示:

<?php
/*
            第一位1
            第二位3   4  5   7          8
            第三位0-9 7  0-8 01235678   0-9
            后八位0-9任意
*/
$phone =' 12345678901 ' ;
$pattern = '/^1(?:3[0-9])\d{8}$/S';
$result = preg_match($pattern, $phone);
echo  '匹配結(jié)果為:' . $result;

演示結(jié)果如下:

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

演示結(jié)果顯示我們匹配結(jié)果為0,顯然我們沒(méi)有匹配成功;

如果我把輸入的字段改為133...,我們?cè)俅芜\(yùn)行發(fā)現(xiàn)匹配結(jié)果為1;

$phone ='13345678901';

演示結(jié)果如下:

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

以此類推,我們只要不超出0-9的范圍,都可以匹配結(jié)果為1;

如果我們第二個(gè)數(shù)是4的話,那我們第三個(gè)數(shù)就只能為7,此時(shí)我們需要把代碼改為47,代碼如下:

$pattern = '/^1(?:3[0-9]|47)\d{8}$/S';

當(dāng)我們把131改為141會(huì)發(fā)現(xiàn)匹配結(jié)果為0(代碼顯示結(jié)果如下),因?yàn)槲覀兟暶鬟^(guò)如果我們第二個(gè)數(shù)是4的話,那我們第三個(gè)數(shù)就只能為7,當(dāng)我們輸出是147我們會(huì)發(fā)現(xiàn)匹配結(jié)果為1;

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

代碼如下:

$phone ='14745678901';
$pattern = '/^1(?:3[0-9]|47)\d{8}$/S';

演示結(jié)果如下:

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

當(dāng)?shù)诙皇?,第三位就可能是0-8,代碼如下:

$phone ='15045678901';
$pattern = '/^1(?:3[0-9]|47|5\d)\d{8}$/S';

演示結(jié)果如下:

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

如果第二位是7,第三位是0-3.5-8;代碼如下:

$phone ='17045678901';
$pattern = '/^1(?:3[0-9]|47|5\d|7[0-35-8])\d{8}$/S';

演示結(jié)果如下:

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

如果第二位是8,第三位就可能是0-9,代碼如下:

$phone ='17045678901';
$pattern = '/^1(?:3[0-9]|47|5\d|7[0-35-8]|8\d)\d{8}$/S';

演示結(jié)果如下:

PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式

以上是“PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI