方法片段:Mysql正则识别中国手机号的所属运营商
简介
本方法片段适用于Mysql
数据库,暂不支持国际手机号。
因 php 识别 中相关正则规则在实际运行时会出现异常,故更改为判断手机号的前三、四位,结合手机号的长度来确认所属运营商。
片段
SELECT
strphone,
CASE
WHEN TRIM( t.strphone ) REGEXP '^13[4-9]|^14[78]|^15[012789]|^18[23478]|^17[28]|^170[356]|^198|^165'
AND length( TRIM( t.strphone ) ) = 11 THEN
'中国移动'
WHEN TRIM( t.strphone ) REGEXP '^13[0-2]|^14[56]|^15[56]|^16[67]|^17[156]|^1704|^1707|^1708|^1709|^171|^18[56]'
AND length( TRIM( t.strphone ) ) = 11 THEN
'中国联通'
WHEN TRIM( t.strphone ) REGEXP '^133|^149|^153|^1700|^1701|^1702|^177|^173|^18[019]|^19[19]'
AND length( TRIM( t.strphone ) ) = 11 THEN
'中国电信' ELSE '未知运营商'
END AS provider
FROM
tableName t
本文链接:https://www.masterzc.cn/archives/105.html
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处