当前位置: 首页 > news >正文

营销型企业网站的策划方案外贸seo网站推广

营销型企业网站的策划方案,外贸seo网站推广,群晖nas做网站,百度seo关键词排名技术学习了《正则匹配人名》和《正则匹配电话号码》,如果要一起进行脱敏处理,改怎么做? 脱敏的,考虑配置规则,进行匹配的方式进行处理: 脱敏规则: DesensitizationRules Data public class Desens…

        学习了《正则匹配人名》和《正则匹配电话号码》,如果要一起进行脱敏处理,改怎么做? 脱敏的,考虑配置规则,进行匹配的方式进行处理:

脱敏规则:

DesensitizationRules

@Data
public class DesensitizationRules {/***  匹配的字段名称*/public String fieldName;/***  是否开启匹配 true 是 false 否*/public Boolean enabled;/***  匹配的表达式*/public String regularExpr;/***  替换的表达式*/public String replaceExpr;
}

数据模拟:

    public static List<DesensitizationRules> mockConfig(){String data = "[\n" +"\t{\n" +"\t\t\"fieldName\": \"staffName\",\n" +"\t\t\"enabled\": true,\n" +"\t\t\"regularExpr\": \"(\\\\S)([a-zA-Z0-9_\\\\s\\\\u4e00-\\\\u9fa5]+)\",\n" +"\t\t\"replaceExpr\": \"$1**\"\n" +"\t},\n" +"\t{\n" +"\t\t\"fieldName\": \"mobile\",\n" +"\t\t\"enabled\": true,\n" +"\t\t\"regularExpr\": \"(\\\\d{3})\\\\d{4}(\\\\d{4})\",\n" +"\t\t\"replaceExpr\": \"$1****$2\"\n" +"\t},\n" +"\t{\n" +"\t\t\"fieldName\": \"tel\",\n" +"\t\t\"enabled\": false,\n" +"\t\t\"regularExpr\": \"(\\\\d{3})\\\\d{4}(\\\\d{4})\",\n" +"\t\t\"replaceExpr\": \"$1****$2\"\n" +"\t},\n" +"\t{\n" +"\t\t\"fieldName\": \"email\",\n" +"\t\t\"enabled\": true,\n" +"\t\t\"regularExpr\": \"(\\\\w?)(\\\\w+)(\\\\w)(@\\\\w+\\\\.[a-z]+(\\\\.[a-z]+)?)\",\n" +"\t\t\"replaceExpr\": \"$1****$3$4\"\n" +"\t}\n" +"]";DesensitizationRules single;List<DesensitizationRules> rules = new ArrayList<>();for(Object map: JSONArray.parseArray(data)){single= JSON.parseObject(JSONObject.toJSONString(map),DesensitizationRules.class);rules.add(single);}return rules;}

测试数据:

FlowStaff

@Data
public class FlowStaff {private String staffName;private String phs;private String email;private String mobile;private String tel;private String orgId;private String orgName;private String staffId;private String staffaName;private String regionName;private String regionId;
}

模拟数据:

     public static List<FlowStaff> mockData(){String receiveStr = "[\n" +"\t{\n" +"\t\t\"staffName\": \"张三飞\",\n" +"\t\t\"phs\": null,\n" +"\t\t\"email\": \"13456789@qq.com\",\n" +"\t\t\"mobile\": \"18920220711\",\n" +"\t\t\"tel\": \"18920220711,18955462232\",\n" +"\t\t\"orgName\": \"组织机构/公司领导部门\",\n" +"\t\t\"staffId\": \"1\",\n" +"\t\t\"staffaName\": null,\n" +"\t\t\"regionName\": \"福建\",\n" +"\t\t\"orgId\": 59\n" +"\t},\n" +"\t{\n" +"\t\t\"staffName\": \"Luck Kevin\",\n" +"\t\t\"phs\": null,\n" +"\t\t\"email\": \"12345678@qq.com\",\n" +"\t\t\"mobile\": \"18920228733\",\n" +"\t\t\"tel\": \"18920228733,18955462252\",\n" +"\t\t\"orgName\": \"组织机构/公司领导部门\",\n" +"\t\t\"staffId\": \"2\",\n" +"\t\t\"staffaName\": null,\n" +"\t\t\"regionName\": \"福建\",\n" +"\t\t\"orgId\": 59\n" +"\t}\n" +"]";System.out.println(receiveStr);FlowStaff single;List<FlowStaff> flowStaffs = new ArrayList<>();for(Object map: JSONArray.parseArray(receiveStr)){single= JSON.parseObject(JSONObject.toJSONString(map),FlowStaff.class);flowStaffs.add(single);}return flowStaffs;}

处理:

        根据规则,先获取配置中enabled 为true,然后对数据进行依次替换脱敏:

     public static void main(String args[]) {List<DesensitizationRules> rules = mockConfig();List<FlowStaff> receivers = mockData();// 过滤需要脱敏的enable = true的配置List<DesensitizationRules> filterRules = ListUtils.emptyIfNull(rules).stream().filter(DesensitizationRules::getEnabled).collect(Collectors.toList());if(CollectionUtils.isEmpty(filterRules)){System.out.println("not have the config rule!");return;}String receiversStr = JSONObject.toJSONString(receivers);for (DesensitizationRules value : filterRules) {receiversStr = replaceCommon(receiversStr,  value.getFieldName(), value.getRegularExpr(),  value.getReplaceExpr());}System.out.println("============ mask ============ ");System.out.println(receiversStr);}public static String replaceCommon(String aimStr, String key, String regularExpr, String replaceExpr) {return aimStr.replaceAll( "\""+key+"\""+":\\s*\""+regularExpr+"\"", "\""+key+"\""+":\""+replaceExpr+"\"");}

输出:

[{"email": "1****9@qq.com","mobile": "189****0711","orgId": "59","orgName": "组织机构/公司领导部门","regionName": "福建","staffId": "1","staffName": "张**","tel": "18920220711,18955462232"},{"email": "1****8@qq.com","mobile": "189****8733","orgId": "59","orgName": "组织机构/公司领导部门","regionName": "福建","staffId": "2","staffName": "L**","tel": "18920228733,18955462252"}
]

把tel的配置enabled改成true再执行,输出:

============ mask ============ 
[{"email": "1****9@qq.com","mobile": "189****0711","orgId": "59","orgName": "组织机构/公司领导部门","regionName": "福建","staffId": "1","staffName": "张**","tel": "189****0711,189****2232"},{"email": "1****8@qq.com","mobile": "189****8733","orgId": "59","orgName": "组织机构/公司领导部门","regionName": "福建","staffId": "2","staffName": "L**","tel": "189****8733,189****2252"}
]

        可以看到人名(staffName)和电话号码(mobile),都进行了脱敏。 tel进行设置后,也脱敏了。达到想要的效果

总结:

        对数据进行脱敏,可以考虑根据配置规则,这样可以动态修改规则,指定字段内容进行脱敏,会比较方便。 也可以考虑用正则表达式

      《java 使用正则进行匹配人名电话》

http://www.yayakq.cn/news/94236/

相关文章:

  • 如何申请域名建立网站济源网站维护
  • 谷歌提交网站网上做娱乐广告的网站
  • 网站建设费用计入哪个会计科目河南建设政务网
  • 网站建设 自学 电子版 pdf下载做网站 用什么空间
  • 图案设计网站有哪些顺义企业建站
  • 帮人做网站一个多少钱3天引流800个人技巧
  • 大庆+网站建设网站转化率低的原因
  • 自助下单网站网站开发的在线支付功能
  • 网站服务器买了后怎么做的免费凡科建站官网
  • 做设计想接外单去哪个网站好以你的心诠释我的爱网页设计素材
  • 做团购的家居网站有哪些网站如何做推广效果好
  • 山东网站建设运行工资wordpress大学 加载慢
  • 军事网站模板下载企业的网站建设策划书
  • 做网站 工资高吗企业网络营销策略分析
  • 求个网站这么难吗2022年贴吧杭州seo公司
  • 海外市场营销seo优化百度seo谷歌seo外贸推广网站seo优化运
  • 做网站小图片分类wordpress模版
  • 网站注册怎么做屏蔽过滤wordpress 多媒体显示
  • 成都网站开发团队阿里云 搭建wordpress
  • 云南公司做网站的价格ui设计学校
  • WordPress网站生成小程序上海专业网站制作设计公司哪家好
  • 网站建设管理考核办法网络营销顾问服务
  • 网站配色模板江苏城乡住房建设部网站
  • 广州网站建设 骏域网站建设专家网站的外链
  • odoo 网站开发网站建站的方式主要有哪几种
  • 学校电脑课做网站的软件网站推广培训机构
  • 静态网站设计怎么做三星网上商城优惠码
  • 国外网站A网页制作基础教程简介
  • 旅游网站建设导航栏传奇手游网页版
  • 网站设计团队分工如何让百度收录中文域名网站