Easy phone number validation, parsing and formatting for adonis framework.
- Add package:
$ npm i adonis-phone-validator --save
or
$ yarn add adonis-phone-validator
- Register providers inside the your start/app.js file.
const providers = [
...
'adonis-phone-validator/providers/PhoneValidatorProvider',
...
]
// 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.
// 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
Having trouble? Open an issue!
The MIT License (MIT). Please see License File for more information.