国际手机号码格式化 和 手机邮箱中间部分用****替换
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")
}
}