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

2019-10-24  本文已影响0人  躺在家里干活

国际手机号码格式化

1.下载libphonenumber-js

npm i libphonenumber-js

2.普通js用法

在下载的文件里找到 libphonenumber-js --> bundle,这个文件夹里的js都是打包后的libphonenumber-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();
}

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

国际手机号中间部分用****替换

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('')
    }
  }
}

中国手机号中间部分用****替换

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")
  }
}

个人博客

上一篇下一篇

猜你喜欢

热点阅读