小編給大家分享一下PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),馬山網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:馬山等地區(qū)。馬山做網(wǎng)站價(jià)格咨詢:13518219792
PHP中我們?cè)趺醋远x匹配手機(jī)號(hào)的正則表達(dá)式?
對(duì)于手機(jī)號(hào)而言,我們都知道在大陸,一般都是以1開頭,中間第兩位可能是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開頭,以\d{8}結(jié)束,此時(shí)我們需要加括號(hào)需要進(jìn)行修飾,如果說我們的第三位是3,那么我們的第三位就可以是0-9,這是我們的第一種情況
緊接著,我們輸入一個(gè)字段,然后進(jìn)行匹配;
代碼演示:
演示結(jié)果如下:
演示結(jié)果顯示我們匹配結(jié)果為0,顯然我們沒有匹配成功;
如果我把輸入的字段改為133...,我們?cè)俅芜\(yùn)行發(fā)現(xiàn)匹配結(jié)果為1;
$phone ='13345678901';演示結(jié)果如下:
以此類推,我們只要不超出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)槲覀兟暶鬟^如果我們第二個(gè)數(shù)是4的話,那我們第三個(gè)數(shù)就只能為7,當(dāng)我們輸出是147我們會(huì)發(fā)現(xiàn)匹配結(jié)果為1;
代碼如下:
$phone ='14745678901'; $pattern = '/^1(?:3[0-9]|47)\d{8}$/S';演示結(jié)果如下:
當(dāng)?shù)诙皇?,第三位就可能是0-8,代碼如下:
$phone ='15045678901'; $pattern = '/^1(?:3[0-9]|47|5\d)\d{8}$/S';演示結(jié)果如下:
如果第二位是7,第三位是0-3.5-8;代碼如下:
$phone ='17045678901'; $pattern = '/^1(?:3[0-9]|47|5\d|7[0-35-8])\d{8}$/S';演示結(jié)果如下:
如果第二位是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á)式”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前標(biāo)題:PHP中怎么自定義匹配手機(jī)號(hào)的正則表達(dá)式
轉(zhuǎn)載注明:http://weahome.cn/article/ihdgdh.html