Skip to content

enniel/adonis-phone-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adonis Phone Validator

Easy phone number validation, parsing and formatting for adonis framework.

Installation

  1. Add package:
$ npm i adonis-phone-validator --save

or

$ yarn add adonis-phone-validator
  1. Register providers inside the your start/app.js file.
const providers = [
  ...
  'adonis-phone-validator/providers/PhoneValidatorProvider',
  ...
]

Validation example

// with country code and phone type
const rules = {
  phone: 'phone:RU,mobile'
}

const data = {
  phone: '+7 (800) 555-35-35'
}

await Validator.validate(data, rules)

// without country code and with phone type (default country code: US)
const rules = {
  phone: 'phone:mobile'
}

const data = {
  phone: '+1-202-555-0120'
}

await Validator.validate(data, rules)

// without country code and phone type (default country code: US)
const rules = {
  phone: 'phone'
}

const data = {
  phone: '+1-202-555-0120'
}

await Validator.validate(data, rules)

Supported types:

  • premium_rate
  • toll_free
  • shared_cost
  • voip
  • personal_number
  • pager
  • uan
  • voicemail
  • fixed_line_or_mobile
  • fixed_line
  • mobile

For more information about supported types see libphonenumber-js.

Sanitization example

// parse phone
const rules = {
  phone: 'parse_phone:RU'
}

const data = {
  phone: '+7 (800) 555-35-35'
}

const sanitized = Validator.sanitize(data, rules) // 8005553535

// format phone to internation format
const rules = {
  phone: 'format_phone:RU,!i'
}

const data = {
  phone: '8005553535'
}

const sanitized = Validator.sanitize(data, rules) // +7 800 555 35 35

// format phone to national format
const rules = {
  phone: 'format_phone:RU,!n'
}

const data = {
  phone: '8005553535'
}

const sanitized = Validator.sanitize(data, rules) // 800 555-35-35

// format phone to international plaintext (E.164) format
const rules = {
  phone: 'format_phone:RU,!ip'
}

const data = {
  phone: '8005553535'
}

const sanitized = Validator.sanitize(data, rules) // +78005553535

Credits

Support

Having trouble? Open an issue!

License

The MIT License (MIT). Please see License File for more information.