国际手机号码格式化 和 手机邮箱中间部分用****替换

41 篇文章 0 订阅
10 篇文章 1 订阅

一、国际手机号码格式化

1.下载libphonenumber-js
npm i libphonenumber-js

下面会用到一个countryCode,这时需要引入一个country.json去查找相应的countryCode
狠狠地点击这里去获取该json
在这里插入图片描述

2.普通js用法

在下载的文件里找到 libphonenumber-js --> bundle,这个文件夹里的js都是打包后的libphonenumber-js,根据项目需求引入不同的文件

// 引入js
<script src="libphonenumber-max.js">
<script>
var phoneNumber = new libphonenumber.parsePhoneNumberFromString('手机号','countryCode');
if (phoneNumber.country) {
  // 判断手机号是否有效
  if (phoneNumber.isValid()) {
    // 格式化手机号
    let mobileNumber = phoneNumber.formatNational();
  }
}
</script>
3.ES6用法
import { parsePhoneNumberFromString } from 'libphonenumber-js'
const phoneNumber = parsePhoneNumberFromString('手机号','countryCode')
if (phoneNumber) {
  let countryCode = phoneNumber.country
  // 手机号
  let number = phoneNumber.number
  // 手机号是否有效
  let isValid = phoneNumber.isValid()
  // 类型
  let type = phoneNumber.getType()
  // 格式化手机号
  let mobileNumber = phoneNumber.formatNational();
}

二、手机中间部分用****替换

1.国际手机号中间部分用****替换
function formatPhoneByStar(str) {
  var phoneNumber = new libphonenumber.parsePhoneNumberFromString(str);
  if (phoneNumber.country) {
    if (phoneNumber.isValid()) {
      let mobileNumber = phoneNumber.formatInternational();
      let mobileArr = mobileNumber.split(' ')
      mobileArr[mobileArr.length - 2] = '****';
      return mobileArr.join('')
    }
  }
}
2.中国手机号中间部分用****替换
function formatPhoneByStar(str) {
  return String(str).replace(/(\d{3})(\d+)(\d{4})/g, "$1****$3")
}

三、邮箱中间部分用****替换

function formatEmailByStar(str) {
  if (String(str).indexOf('@') > 0) {
    return String(str).replace(/(\w{1,3})(.+)(@.+)/g, "$1****$3")
  }
}

我的个人博客有空来坐坐
http://www.wangyanan.online

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值