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

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

作者: 躺在家里干活 | 来源:发表于2019-10-24 10:48 被阅读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")
      }
    }
    

    个人博客

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/jijrvctx.html