現(xiàn)在我們來總結(jié)一下關(guān)于php中固定電話號碼和手機(jī)號碼正則表達(dá)式驗(yàn)證,本實(shí)現(xiàn)可以驗(yàn)證目前所有中國座機(jī)與移動電話號碼,有需要的朋友可參考一下.
086-區(qū)號-號碼-分機(jī):
^086-[1-9][0-9]{1,4}-[1-9][0-9]{4,7}-[0-9]{3,4}$
2G的手機(jī)號差不多都是13開頭,代碼如下:
- $mobilephone=trim($_POST["smMobilePhone"]);
- //手機(jī)號碼的正則驗(yàn)證
- if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobilephone)){
- //驗(yàn)證通過
- }else{
- //手機(jī)號碼格式不對
- }
3G的號以150、151、158、159開頭,還有就是189開頭,所以代碼如下:
- $mobilephone="18000000000";
- if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobilephone)){
- echo '驗(yàn)證通過';
- }else{
- echo '手機(jī)號碼格式不對';
- }
注意:
先要整清楚現(xiàn)在已經(jīng)開放了多少個號碼段,國家號碼段分配如下:
移動:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
聯(lián)通:130、131、132、152、155、156、185、186
電信:133、153、180、189、(1349衛(wèi)通)
加上js處理,代碼如下:
- <script type="text/javascript">
- var patter = /^1(5[0-35-9]|8[06789]|3[0-9]|47)d{8}$/;
- /**
- * 匹配固定電話 (區(qū)號-)+號碼 區(qū)號可以不寫,-也可以不寫 匹配大部分固話,但不包括4位以上的區(qū)號地區(qū)的電話
- */
- var patter = /^(0(10|21|22|23|[1-9][0-9]{2})(-|))?[0-9]{7,8}$/
- </script>
/^13d{9}$/gi手機(jī)號正則表達(dá)式,代碼如下:
- public static bool IsValidMobileNo(string MobileNo)
- {
- const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)d{8}$";
- return Regex.IsMatch(MobileNo, regPattern);
- }
正則表達(dá)式--驗(yàn)證手機(jī)號碼:13[0-9]{9}
實(shí)現(xiàn)手機(jī)號前帶86或是+86的情況:^((+86)|(86))?(13)d{9}$
電話號碼與手機(jī)號碼同時驗(yàn)證:(^(d{3,4}-)?d{7,8})$|(13[0-9]{9})
提取信息中的中國手機(jī)號碼:(86)*0*13d{9}
提取信息中的中國固定電話號碼:((d{3,4})|d{3,4}-|s)?d{8}
提取信息中的中國電話號碼(包括移動和固定電話):((d{3,4})|d{3,4}-|s)?d
新聞熱點(diǎn)
疑難解答