2018-03-01  10,967 views 1

mysql正则匹配某字段是否为手机号

 标签:

有张用户表,由于历史原因有些用户名是用户自己定义的,这就有用户拿自己手机号做用户名。要查询出这些用户就是用正则匹配查询出来。如下:

SELECT * FROM `dt_users` WHERE `user_name` REGEXP "^[1][35678][0-9]{9}$" ORDER BY `reg_time` DESC ;

还有一种含有手机号的情况:

SELECT * FROM `dt_users` WHERE `user_name` REGEXP ".[1][35678][0-9]{9}." ORDER BY `reg_time` DESC;( . 的意思是所有字符)

顺带把这些用户名用手机号的在其前面加个字符:

UPDATE `dt_users` set `user_name` = concat('00',`user_name`) WHERE `user_name` REGEXP "^[1][35678][0-9]{9}$";

 

1 条留言  访客:1 条  博主:0 条

  1. 范德萨范德萨 0

    范德萨发达 :grin: :grin: :???: :cool: :roll: :neutral: :cry: :cry: :mrgreen: :???: :oops: :evil: :razz: :razz: :?: :sad: :shock: :cool: :mad: :arrow: :arrow: :twisted: :evil: :evil: :evil: :sad: :cool: :idea: :arrow: :cry:

给我留言

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: