Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

这是一个angular字符串格式化的过滤器,支持手机号 / 固定电话 / 银行卡 / 普通数字卡号 / 身份证 / 姓名 / 用户名 / 电子邮箱

Notifications You must be signed in to change notification settings

toviLau/angular.strCover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

7 Commits

Repository files navigation

简单介绍

这是一个angular字符串过滤器,可以格式化常用字符串的显示,还有隐私遮挡。您可以自由选择是否格式化或保留原样,当然隐私遮挡也是提供您自由选择。 你不用但心你传入的字符串中间是否有空格,程序将自动去除中间多余的空格。

  • 如这样的字符串:"13 01 23 45 6 7 8"程序最后会去除所有的空格显示这样13012345678
  • 如这样的字符串:"13 01 23 45 6 7 8"程序最后会去除所有的空格显示这样130 1234 5678
  • 如这样的字符串:"13 01 23 45 6 7 8"程序最后会去除所有的空格显示这样130****5678
  • 如这样的字符串:"13 01 23 45 6 7 8"程序最后会去除所有的空格显示这样130 **** 5678
  • 如这样的字符串:"0 7 5 5345 6 5 678-8 789"程序最后显示这样0755-34565678-8789
  • 如这样的字符串:"0 7 5 5345 6 5 678-8 789"程序最后显示这样0755-34****78-8789
  • 如这样的字符串:"0 7 5 5345 6 5 678"程序最后显示这样0755-34565678
  • 如这样的字符串:"0 7 5 5345 6 5 678"程序最后显示这样0755-34****78

可以格式化以下类型的字符串类型

  • 手机号
  • 固定电话
  • 银行卡
  • 普通数字卡号
  • 身份证
  • 姓名
  • 用户名
  • 电子邮箱

好了现在介绍使用方法 format:是否格式化 hidden:是否启用隐私遮挡 配制默认值是false

×ばつ)替换。 例: 1.原文: 桃伟 返回匹配结果: ×ばつ伟 2.原文: 爱迪生 返回匹配结果: ×ばつ生 3.原文: 比尔盖茨 返回匹配结果: ×ばつ茨 4.原文: 迈克尔杰克逊 返回匹配结果: ×ばつ逊 ------------------------ 中英文混合名处理方式 ------------------------ 中文在前: 1、中文名: 1)、以【单个汉字】为单位拆分,【尾】汉字保留显示。 2)、从【第一个汉字开始 --> 倒数第二个汉字结束】 以星号(×ばつ)替换。 2、英文名: 1)、以【单词后空格】或【首字母大写】为单位拆分,【首】单词全显不隐藏。 2)、所有单词【首、尾】各保留26%字符显示,中间以星号(*)填充。 例: 原文: 迈克尔杰克逊 Michael Jackson 返回结果: ×ばつ逊 Mi***el Ja***on 英文在前: 1、中文名: 1)、以单个汉字为单位切割,【尾】汉字保留。 2)、从【第一个汉字开始 --> 倒数第二个汉字结束】 以星号(×ばつ)替换。 2、英文名: 1)、以【单词后空格】或【首字母大写】为单位拆分 2)、【首】单词全显。从【第二个单词】开始匹配,每个单词【首、尾】各保留26%字符显示,中间以星号(*)填充。 例: 原文: Michael Jackson 迈克尔杰克逊 返回匹配结果: Michael Ja***on ×ばつ逊} ************************ ** 用户名 ************************ 参考姓名中英文方式 ************************ ** 电子邮箱 ************************ 用户名部分参考姓名中英文方式,邮箱域名部分保留(如:@qq.com,@vip.163.com) tovi@qq.com t**i@qq.com liutaowei@vip.163.com li*****ei@vip.163.com">
<!-- 手机号码格式化并启用隐私遮挡,返回 136 **** 5678 -->
 手机号码:<div>{{'13612345678' | strCover:"{format: true,hidden: true}"}}</div>
<!-- 手机号码格式化不启用隐私遮挡,返回 136 1234 5678 -->
 手机号码:<div>{{'13612345678' | strCover:"{format: true,hidden: false}"}}</div>
<!-- 手机号码不格式化不启用隐私遮挡,返回 13612345678 -->
 手机号码:<div>{{'13612345678' | strCover:"{format: false,hidden: false}"}}</div>
<!-- 固定电话格式化并启用隐私遮挡,返回 +86755-34****78-8789 -->
 固定电话:<div>{{'+86755-34565678-8789' | strCover:"{format: true,hidden: true}"}}</div>
<!-- 固定电话格式化并启用隐私遮挡,返回 0755-34****78-8789 -->
 固定电话:<div>{{'0755-34565678-8789' | strCover:"{format: true,hidden: true}"}}</div>
 <!-- 固定电话格式化并启用隐私遮挡,返回 34****78-8789 -->
 <!--
 它支持的固定电话号码格式如下
 +8675534565678-1234 - 有国际区号、有国内区号、有固定电话号码,有分机号
 075534565678-1234 - 没有国际区号、有国内区号、有固定电话号码,有分机号
 34565678-1234 - 没有国际区号、没有国内区号、有固定电话号码,有分机号
 34565678 - 没有国际区号、没有国内区号、有固定电话号码,没有分机号
 +8675534565678 - 有国际区号、有国内区号、有固定电话号码,没有分机号
 换句话来说就是固定电话号码是必须的,其它都可以没有
 也就是这样的表达式:[ 国际区号、国内区号 ] 固定电话号码 [ 分机号 ]
 格式化后的样子是[ [+国际区号]国内区号 - ] 固话前两位 (**** or ***) 固话号后两位 [ 区号 ]
-->
 固定电话:<div>{{'34565678-8789' | strCover:"{format: true,hidden: true}"}}</div>
<--
 ************************************
 *** 银行卡格式化支持16位与19位规则如下
 ************************************
 格式化规则:4位1组,
 如:8612 3423 4345 4567 678 (19位)
 8612342343454567678 (19位)
 8612 3423 4345 4567 (16位)
 8612342343454567 (16位)
 隐私保护:首尾两组明文显示,中间组保护
 如:8612 **** **** **** 678 (19位)
 8612************678 (19位)
 8612 **** **** 4567 (16位)
 8612********4567 (16位)
 ************************************
 *** 普通数字卡号
 ************************************
 格式化规则:3位1组,
 如:861 234 234 345 456(非16位 or 非19位)
 861 234 234(非16位 or 非19位)
 861234234345456(非16位 or 非19位)
 861234234(非16位 or 非19位)
 隐私保护:首尾两组明文显示,中间组保护
 861 *** *** *** 456(非16位 or 非19位)
 861 *** 234(非16位 or 非19位)
 861*********456(非16位 or 非19位)
 861***234(非16位 or 非19位)
 ************************************
 *** 中国大陆身份证
 ************************************
 格式化规则:省市区码(6位)出生年月日(8位)个人身份编码(3位)校验码(1位),
 如:101112 20180101 0011
 如:101112201801010011
 隐私保护:省市区码明文,出生年月日保护,个人身份编码前1位保护,后2位明文,校验码明文
 如:101112 ******** *011
 101112*********0011
 姓名规则
 *************************
 *** 姓名规则
 *************************
 ------------------------
 英文名处理方式
 ------------------------
 1、以【单词后空格】或【首字母大写】为单位拆分,【首】单词全显不隐藏。
 2、从【第二个单词】开始匹配,每个单词【首、尾】各保留26%字符显示,中间以星号(*)填充。
 例: 1.原文: Tovi Lau 返回匹配结果: Tovi L*u
 2.原文: Thomas Alva Edison 返回匹配结果: Thomas A**a Ed**on
 3.原文: WilliamHenryGates 返回匹配结果: William H***y G***s
 4.原文: Michael Jackson 返回匹配结果: Michael Ja***on
 ------------------------
 中文名处理方式
 ------------------------
 1、以单个汉字为单位拆分,【尾】汉字保留。
 2、从【第一个汉字开始 --> 倒数第二个汉字结束】 以星号(×ばつ)替换。
 例: 1.原文: 桃伟 返回匹配结果: ×ばつ伟
 2.原文: 爱迪生 返回匹配结果: ×ばつ生
 3.原文: 比尔盖茨 返回匹配结果: ×ばつ茨
 4.原文: 迈克尔杰克逊 返回匹配结果: ×ばつ逊
 ------------------------
 中英文混合名处理方式
 ------------------------
 中文在前:
 1、中文名:
 1)、以【单个汉字】为单位拆分,【尾】汉字保留显示。
 2)、从【第一个汉字开始 --> 倒数第二个汉字结束】 以星号(×ばつ)替换。
 2、英文名:
 1)、以【单词后空格】或【首字母大写】为单位拆分,【首】单词全显不隐藏。
 2)、所有单词【首、尾】各保留26%字符显示,中间以星号(*)填充。
 例:
 原文: 迈克尔杰克逊 Michael Jackson 返回结果: ×ばつ逊 Mi***el Ja***on
 英文在前:
 1、中文名:
 1)、以单个汉字为单位切割,【尾】汉字保留。
 2)、从【第一个汉字开始 --> 倒数第二个汉字结束】 以星号(×ばつ)替换。
 2、英文名:
 1)、以【单词后空格】或【首字母大写】为单位拆分
 2)、【首】单词全显。从【第二个单词】开始匹配,每个单词【首、尾】各保留26%字符显示,中间以星号(*)填充。
 例:
 原文: Michael Jackson 迈克尔杰克逊 返回匹配结果: Michael Ja***on ×ばつ逊}
 ************************
 ** 用户名
 ************************
 参考姓名中英文方式
 ************************
 ** 电子邮箱
 ************************
 用户名部分参考姓名中英文方式,邮箱域名部分保留(如:@qq.com,@vip.163.com)
 tovi@qq.com
 t**i@qq.com
 liutaowei@vip.163.com
 li*****ei@vip.163.com

About

这是一个angular字符串格式化的过滤器,支持手机号 / 固定电话 / 银行卡 / 普通数字卡号 / 身份证 / 姓名 / 用户名 / 电子邮箱

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /