如何在不使用 HTML 的情况下格式化电话号码

How to format the phoneNumber without using HTML

我正在使用 Cleave.js 和 Node.js。在这里我收到 document not defined 错误。如何解决这个问题?

var express = require('express');
var app = express();
var document = require('html-element').document;
var Cleave = require('cleave.js');
require('cleave.js/dist/addons/cleave-phone.in');
app.get('/', function (req, res) {
var input = document.createElement('input')
input.value =  'XXXXXXXXXX' 
const cleave = new Cleave('input', { phone: true, phoneRegionCode: 'in'
});
res.send('Hello World! ' + input.value);
});

app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});

要求:我将从另一个微服务 (Java) 中调用此 API 以及 phone 数字。由此我需要格式为 phonenumber.

的结果

您必须使用 jsdom,因为在 nodejs 上下文中没有定义 documentwindow 对象。

格式化phone数字,可以使用awesome-phonenumber npm模块。

const PhoneNumber = require('awesome-phonenumber');
const str = "+919090989790";
const pn = new PhoneNumber(str);

使用预定义函数验证 phone 数字,例如: pn.isValid() && pn.isMobile()