本文目錄一覽:
php使用正則表達式匹配手機號?求助
$g = “/^1[34578]\d{9}$/”; // “^”符號表示必須是1開頭; “[ ]”的意思是第二個數字必須是中括號中一個數字; 而 \d 則表示0-9任意數字,後跟{9}表示長度是9個數字; 後面的$表示結尾; 開始和結尾的 / 是正則表達式必須放在這個中間, 有的後面可能還跟模式.
手機號正則表達式精簡
精簡後:1/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/
正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。
java手機號碼正則表達式: /** * 驗證手機號碼 * * 移動號碼段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147 * 聯通號碼段:130、131、132、136、185、186、145 * 電信號碼段:133、153、180、189 * * @param cellphone * @return */ public static boolean checkCellphone(String cellphone) { String regex = “^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$”; return check(cellphone, regex); } /** * 驗證固話號碼 * * @param telephone * @return */ public static boolean checkTelephone(String telephone) { String regex = “^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$”; return check(telephone, regex); }
php手機號碼正則表達式:?php //正則表達式 $tel = “15558530459”;//手機號碼 if(strlen($tel) == “11”) { //上面部分判斷長度是不是11位 $n = preg_match_all(“/13[123569]{1}\d{8}|15[1235689]\d{8}|188\d{8}/”,$tel,$array); /*接下來的正則表達式(“/131,132,133,135,136,139開頭隨後跟着任意的8為數字 ‘|'(或者的意思) * 151,152,153,156,158.159開頭的跟着任意的8為數字 * 或者是188開頭的再跟着任意的8為數字,匹配其中的任意一組就通過了 * /”)*/ var_dump($array); //看看是不是找到了,如果找到了,就會輸出電話號碼的 }else { echo “長度必須是11位”; } /* * 雖然看起來複雜點,清楚理解! * 如果有更好的,可以貼出來,分享快樂! * */ ?
js手機號碼正則表達式: function checkMobile(){ var sMobile = document.mobileform.mobile.value if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))){ alert(“不是完整的11位手機號或者正確的手機號前七位”); document.mobileform.mobile.focus(); return false; } }
PHP提取手機號碼的正則表達式 應該怎麼寫?
$reg = ‘/[^0-9+]*(?Ptel(\+86[1][368][0-9]{9})|([1][368][0-9]{9}))[^0-9+]*/’;
手機的格式:第一位1,第二位能想起來的有3,6,8。(13×,16×,18×)
所以通過判斷前面兩位就能篩選出手機號碼,然後後面再跟隨意9位數即可。
如果第二位除了3,6,8還可能是其他的話,在中括號中添加就行
php正則 匹配 手機、座機號碼
註:現在有很多座機都是8位了,除區號 的第一位是取值範圍是3-9 這是國家規定的,
第二位 分省市、縣取值不同。省會城市和大城市的區號三位,第一位選取“3、4、5、6、7、8、9”共七個數字,
第二位選取單數“1、3、5、7、9”共五個數字,第三位隨意。
各縣城及小城市的區號四位,第一位選取“3、4、5、6、7、8、9”共七個數字,
第二位選取雙數“2、4、6、8、0”共五個數字,第三、四位隨意。
//$str = “028-8711934”; 大陸7位座機 3位區號
//$str = “0827-87119345”; 大陸8位座機 3位區號
//$str = “0827-87119345”; 大陸8位座機 4位區號
//$str = “00852-87119345”; 香港8位座機
//$str = “00852-8711934”; 香港7位座機
//手機 13、14、15、18 開頭的
……..
這裡就不多列舉了。
$mode = “/(^1[3|4|5|8][0-9]{9}$)|(^0[1-9]{2,4}[-][3-9]{1}[0-9]{6,7}$)/”;
if(preg_match($mode, $str)){
echo “匹配”;
}
else{
echo “不匹配”;
}上面那個正則有到問題 取值範圍差了一個
下面這個 ok。
$mode = “/(^1[3|4|5|8][0-9]{9}$)|(^0[0-9]{2,4}[-][3-9]{1}[0-9]{6,7}$)/”;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/158238.html