经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 正则表达式 » 查看文章
正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数
来源:jb51  时间:2018/11/30 9:16:17  对本文有异议

下面看下正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数

  1. // 匹配手机号首尾,以类似“123****8901”的形式输出
  2. '12345678901'.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');

此段正则匹配字符串中的连续11位数字,替换中间4位为*号,输出常见的隐匿手机号的格式。

如果要仅得到末尾4位,则可以改成如下形式:

  1. // 匹配连续11位数字,并替换其中的前7位为*号
  2. '15110280327'.replace(/\d{7}(\d{4})/, '*******$1');

ps:下面看下隐藏手机号码中间四位数

1.隐藏手机号码中间四位,变成186****9877

  1. /**
  2. * 隐藏部分手机号码
  3. * @param phone
  4. * @return
  5. */
  6. public static String hidePhoneNum(String phone){
  7. String result = "";
  8. if (phone != null && !"".equals(phone)) {
  9. if (isMobileNum(phone)) {
  10. result = phone.substring(0, 3) + "****" + phone.substring(7);
  11. }
  12. }
  13. return result;
  14. }

2.判断是否是手机号码

  1. /**
  2. * 检查是否是电话号码
  3. *
  4. * @return
  5. */
  6. public static boolean isMobileNum(String mobiles) {
  7. Pattern p = Pattern
  8. .compile("^((13[0-9])|(14[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
  9. Matcher m = p.matcher(mobiles);
  10. return m.matches();
  11. }

总结

以上所述是小编给大家介绍的正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对w3xue网站的支持!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号