高分问题一枚
数据库表中一个来电字段caller
caller有普通的手机号,也有带0的手机号,还有010-1234567这样的座机号码等等
请问如何去掉那些前面带0的手机号?
求高效实现
------解决方案--------------------
手机号和座机号有如下区别
长度
号码内是否存在"-"
区别出手机号 过滤首位 为0的手机号码
是这样吧?正则咯...
------解决方案--------------------
select ... where left(caller,1)!='0';
------解决方案--------------------
座机号加区号是11位把。手机号还有前导0的话就大于11位了。根据这个规则来替换。
------解决方案--------------------
SELECT * FROM `tbl` WHERE `calller` REGEXP '^01[3458]+'; <br><font color="#e78608">------解决方案--------------------</font><br>手机号码前段没几个,可以根据这个来判断<br><br>
$tel = $val)
{
if($val[0] == '0' && in_array("$val[1]$val[2]", $tel_arr))
$tel[$key][0] = '';
}
print_r($tel);
<br><font color="#e78608">------解决方案--------------------</font><br>
手机号都是 1 打头<br>只要排除掉 010 北京区号就可以了<br><br>$caller = preg_replace('/^0(1[^0])/', '$1', $caller);
<br><font color="#e78608">------解决方案--------------------</font><br>update tbl_name set caller=substr(caller,2) where caller regexp '^01[^0]' <div class="clear"></div>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号