2

I am using Cleave.js with Node.js. Here I am getting document not defined error. How to resolve this issue?

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!');
});

Requirement: I will call this API from another microservice (Java) along with the phone numbers. From this I need result formatted phonenumber.

brandt.codes
  • 923
  • 2
  • 9
  • 19
Dinesh
  • 21
  • 5

2 Answers2

2

Format phone number, one can use awesome-phonenumber npm module.

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

Validate phone number using predefined functions like: pn.isValid() && pn.isMobile()

1

You have to use jsdom as in nodejs context there is no document nor window object defined.

related

Józef Podlecki
  • 10,453
  • 5
  • 24
  • 50