js java正则表达式替换手机号4-7位为星*号

需求:

一个手机号13152461111,由于安全性,需要替换4-7位字符串为星号,为131****1111,那么有2中玩法,一种是前端隐藏,一种是后台隐藏。

1. 前台隐藏

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Mvc1</title>
    <script type="text/javascript">

    function fn(phone) {
            phone = phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
            return phone;
        }

    console.log('fn', fn('13122222222'));
    </script>
</head>

<body>
</body>
</html>

最终效果:

2. 后台隐藏(Java)

// 将手机号码第4位到第7位替换成*
public class PhoneNuberHide
{
   public static void main(String [] args){

   String tel = "18753993252";
   // 括号表示组,被替换的部分$n表示第n组的内容
   tel = tel.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
   System.out.print(tel);
   }
}

最终效果:

原理解析:

正则表达式中,替换字符串,括号的意思是分组,在replace()方法中,参数二中可以使用$n(n为数字)来依次引用模式串中用括号定义的字串。"(\d{3})\d{4}(\d{4})", "$1****$2"的这个意思就是用括号,分为(前3个数字)中间4个数字(最后4个数字)替换为(第一组数值,保持不变$1)(中间为*)(第二组数值,保持不变$2)

@落雨
http://ae6623.cn

参考:http://blog.sina.com.cn/s/blog_9707fac301017n1d.html

时间: 2024-09-21 14:09:09

js java正则表达式替换手机号4-7位为星*号的相关文章

关于java正则表达式 替换的问题,希望各位大牛,帮忙下!

问题描述 //能得到要的结果:cc1aa2String s = "cc[b]1[/b]aa[b]2[/b]";s=s.replaceAll("\[b\]([^(\[/b\])]+)\[/b\]", "$1") ;System.out.println(s);//如果 String s = "cc[b]b[/b]aa[b]b2[/b]" ; 匹配不了[b][/b]里面的内容?麻烦 哪位大牛 帮忙解决下 问题补充:<div c

关于一个java正则表达式替换的问题

问题描述 一个很简单的json串:String json = "{"name1":"value1","na"me2":"va"lue2"}";问题是:现在key和value的值中都有可能出现双引号,需要将key或value中值的双引号(不管中间有多少个双引号都替换,边界的不能替换)替换味单引号:现在 json= json.replaceAll(""(\w*)"

Java正则表达式判断手机号的例子

故先要整清楚现在已经开放了多少个号码段,国家号码段分配如下: 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.152.155.156.185.186 电信:133.153.180.189.(1349卫通) 那么现在就可以正则匹配测试了, import java.io.IOException; import java.util.regex.Matcher; import java.util.rege

Js&amp;Vbs正则表达式替换重复的字符

 <script type="text/javascript">    google.load('search', '1', {language : 'zh-CN'});   google.setOnLoadCallback(function() {     var customSearchOptions = {};  var customSearchControl = new google.search.CustomSearchControl(       'partne

JS正则表达式替换页面中内容

问题描述 JS正则表达式替换页面中内容 我想用正则表达式替换table中除了标签""<tr class=""template"" ng-repeat=""model in model.child""></td>""里面的ng-model中的内容,将ng-model=""model.*""替换成ng-model="&

使用正则表达式替换报表名称中的特殊字符(推荐)_正则表达式

正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规则)的文本. 许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎,还有java语言自带的.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成"regex",单数有regexp.regex,复数

java 正则表达式问题

问题描述 要将一下字符串中的红色字体部分用java正则表达式替换为空,正则表达式应该怎么样写? body/div[3][@class='content']/div[2][@class='content-outer']/div[2][@class='fauxborder-left content-fauxborder-left']/div[2][@class='content-inner']/div[2][@class='main-outer']/div[2][@class='fauxborder

使用正则表达式替换报表名称中的特殊字符(推荐)

正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表通常被用来检索.替换那些符合某个模式(规则)的文本. 许多程序设计语言都支持利用正则表达式进行字符串操作.例如,在Perl中就内建了一个功能强大的正则表达式引擎,还有java语言自带的.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成"regex",单数有regexp.regex,复数

php实现替换手机号中间数字为*号及隐藏IP最后几位的方法_php技巧

本文实例讲述了php实现替换手机号中间数字为*号及隐藏IP最后几位的方法.分享给大家供大家参考,具体如下: $string = "13826589549"; $pattern = "/(\d{3})\d\d(\d{2})/"; $replacement = "\$1****\$3"; print preg_replace($pattern, $replacement, $string); 输出的结果:138****9549 这个匹配结果是我想要的