
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@logicamente.info/react-lgmt-input
Advanced tools
Componente React para criação de inputs formatados e validados para dados pré-definidos utilizados no Brasil
Este componente cria inputs mascarados para alguns dados utilizados em cadastros aqui no Brasil.
Ele também da uma base para a criação de inputs personalizados com suas próprias máscaras através de expressões regulares e permite determinar uma função de validação para o input.
Para uma demonstração, faça o download e execute yarn start.
$ npm i -S @logicamente.info/react-lgmt-input # NPM user
$ yarn add @logicamente.info/react-lgmt-input # NPM user
import React from 'react';
import LgmtInput from '@logicamente.info/react-select-brasil';
export default class Demo extends React.Component {
render() {
return (
<LgmtInput.CPF
value={this.state.cpf}
onChange={(e) => this.setState({ cpf: e.target.value })}>
);
}
}
| Componente | Temática |
|---|---|
LgmtInput.CommonInput | Componente base para a criação de novos componentes input, não é possível renderizar este componente diretamente |
LgmtInput.AgenciaBancaria | Input formatado para número de agências bancárias |
LgmtInput.BoletoBancário | Input formatado para números de boletos com 47 dígitos |
LgmtInput.CEP | Input formatado para CEP brasileiro |
LgmtInput.CNPJ | Input formatado para número de registro de pessoa jurídica |
LgmtInput.ContaBancaria | Input formatado para contas bancárias |
LgmtInput.ConvenioBancario | Input formatado para números de boletos com 48 dígitos (água, luz, telefone...) |
LgmtInput.CPF | Input formatado para número de registro de pessoa física |
LgmtInput.Documento | Input formatado para CPF ou CNPJ, adaptando-se de acordo com a quantidade dígitos inseridos |
LgmtInput.Moeda | Input formatado para valores monetários, com duas casas decimais por padrão (prop digits="2") |
LgmtInput.Telefone | Input formatado para telefones com DDD |
Este componente é um DOM Input padrão do HTML de texto, portanto todas as propriedades de um
input[type="text"] são aplicáveis a este componente como, por exemplo, required.
Para criar inputs com suas próprias opções e formatos, crie uma classe que extenda CommonInput e defina as propriedades conforme tabela a seguir.
| Propriedade | Descrição | Exemplo |
|---|---|---|
masksRegex | Demostra através de expressões regulares a evolução da aplicação da máscara |
|
masksReplacement | Informa como os grupos capturados pelas expressões regulares vão compor a máscara |
|
length | Tamanho máximo permitido para o input desconsiderando os caracteres da máscara |
|
pattern | Expressão regular que validará o valor final do input depois de aplicada a máscara |
|
invalidMessage | Mensagem que será exibida caso o valor do input seja inválido utilizando a validação padrão do HTML5 (anterior ao evento submit) |
|
validator | Uma função opcional executada durante a validação de pattern que avalia o valor do input para determinar sua validade |
|
import LgmtInput from '@logicamente.info/react-lgmt-input';
export default class MeuInput extends LgmtInput.CommonInput {
masksRegex = /(^(\d)|(\d)(\d)|(\d)(\d)(\d)|(\d)(\d)(\d)(\d)$)/g;
masksReplacement = ["$2", "$4.$5", "$7.$8.$9", "$11.$12.$12-$13"];
length = 4;
pattern = /^(\d\.){3}\d$/;
invalidMessage = "Preencha corretamente.";
validator: () => {
const v = this.state.value
.replace(/\D/g, '') // remove a mascara
.split('').map((e) => parseInt(e)); // transforma em um vetor de int
const ultimoDigito = v.pop(); // retira o ultimo digito
const somaDigitos = v.reduce((acc, cur) => acc + cur); // soma os tres primeiros
return somaDigitos === ultimoDigito;
}
}
FAQs
Componente React para criação de inputs formatados e validados para dados pré-definidos utilizados no Brasil
We found that @logicamente.info/react-lgmt-input demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.