npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

validador-numero-angola

v1.2.0

Published

A package to validate and format Angolan phone numbers with the international prefix +244.

Downloads

220

Readme

Validador e Formatador de Números de Telefone de Angola

Validador e Formatador de Números de Telefone de Angola é uma biblioteca simples e eficiente para validar e formatar números de telefone de acordo com as regras de numeração de Angola. Ela lida com números com ou sem o prefixo do país (+244), garantindo que os números estejam no formato correto e atendam às especificações locais. A biblioteca também identifica a operadora associada ao número.

Funcionalidades

  • Validação de Número de Telefone: Verifica se o número de telefone segue o formato correto de numeração de Angola.
  • Formatação de Número de Telefone: Remove o prefixo +244 do número, se presente, e formata o número para o padrão local.
  • Identificação da Operadora: Identifica a operadora (Movicel, Unitel, Africell) com base no prefixo do número de telefone.
  • Entrada Flexível: Suporta números com ou sem o código de país (+244) e elimina espaços extras.
  • Regras de Validação:
    • O número de telefone deve começar com +244 ou com o dígito 9 (com 9 dígitos).
    • Se o número começar com 9, não pode ter 90 como o segundo dígito.
    • Se começar com +244, o número deve ter exatamente 13 dígitos (incluindo o código do país).

Instalação

Para instalar a biblioteca em seu projeto, execute o seguinte comando:

npm install validador-numero-angola

Uso

Exemplo

import { isAngolaPhoneValid, formatAngolaPhone, getOperator } from "validador-numero-angola";

// Número de telefone para testar
const numeroTelefone = "+244 919999999";

console.log(isAngolaPhoneValid(numeroTelefone)); // true ou false
console.log(formatAngolaPhone(numeroTelefone));  // "919999999"
console.log(getOperator(numeroTelefone)); // "Movicel"

Funções

isAngolaPhoneValid(phoneNumber: string): boolean

Valida se o número de telefone fornecido é válido conforme as regras de numeração de Angola.

  • Entrada: Uma string contendo o número de telefone (com ou sem espaços).
  • Saída: Retorna true se o número for válido, false caso contrário.

formatAngolaPhone(phoneNumber: string): string

Formata o número de telefone removendo o prefixo +244 (caso presente). A formatação só ocorrerá se o número for validado como correto, garantindo que números inválidos não sejam alterados.

  • Entrada: Uma string contendo o número de telefone.
  • Saída: Retorna uma string com o número formatado (sem o prefixo +244), ou o número original se não for válido.

getOperator(phoneNumber: string): string | null

Identifica a operadora do número de telefone com base no prefixo. A função retorna o nome da operadora (Movicel, Unitel, Africell, etc.) ou null se o número for inválido.

  • Entrada: Uma string contendo o número de telefone.
  • Saída: O nome da operadora (por exemplo, "Movicel", "Unitel", "Africell"), ou null se o número não for válido ou não puder ser identificado.

Exemplo de Formatação de Número e Identificação da Operadora

Número Válido

import { isAngolaPhoneValid, formatAngolaPhone, getOperator } from "validador-numero-angola";

// Número de telefone válido
const numeroTelefone = "+244 955047526";

console.log(isAngolaPhoneValid(numeroTelefone)); // true
console.log(formatAngolaPhone(numeroTelefone));  // "955047526"
console.log(getOperator(numeroTelefone)); // "Africell"

Número Inválido

import { isAngolaPhoneValid, formatAngolaPhone, getOperator } from "validador-numero-angola";

// Número de telefone inválido
const numeroTelefone = "+244 95504752"; // Número com 8 dígitos, que é inválido

console.log(isAngolaPhoneValid(numeroTelefone)); // false
console.log(formatAngolaPhone(numeroTelefone));  // "+244 95504752" (não é alterado)
console.log(getOperator(numeroTelefone)); // null (não é identificado)

Explicação:

  • O número válido "+244 955047526" será validado como true, formatado corretamente para "955047526" e identificado como Africell.
  • O número inválido "+244 95504752" (com 8 dígitos) falha na validação e retorna false. A formatação não é alterada, e a operadora não é identificada (null).

Contribuição

Este projeto é de código aberto e está aberto à contribuição da comunidade. Se você deseja contribuir, por favor:

  1. Faça um fork do repositório.
  2. Crie uma branch para sua alteração (git checkout -b feature-nome-da-feature).
  3. Envie um pull request para revisão.

Links Úteis

Licença

Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.