"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como garantir validação inteira precisa em JavaScript: qual método é o melhor?

Como garantir validação inteira precisa em JavaScript: qual método é o melhor?

Publicado em 15/11/2024
Navegar:759

How to Ensure Accurate Integer Validation in JavaScript: Which Method is Best?

Como validar a entrada de números inteiros em JavaScript

Se você precisa verificar números inteiros para garantir a consistência dos dados ou solicitar aos usuários mensagens de erro precisas, o JavaScript fornece vários métodos para validar entradas inteiras.

Uma abordagem comum envolve o uso da função parseInt(). No entanto, este método por si só pode não ser suficiente se você quiser lidar com cenários como strings que poderiam ser analisadas como números inteiros.

Função robusta de validação de número inteiro

A função a seguir combina várias verificações para garantir robustez validação de inteiro:

function isInt(value) {
  return !isNaN(value) &&
         parseInt(Number(value)) == value &&
         !isNaN(parseInt(value, 10));
}

Esta função pode lidar com strings numéricas e números primitivos, garantindo uma validação precisa.

Operadores bit a bit para desempenho aprimorado

Se o desempenho for uma prioridade, você pode utilizar operadores bit a bit para verificações de inteiros eficientes:

function isInt(value) {
  var x = parseFloat(value);
  return !isNaN(value) && (x | 0) === x;
}

Este método usa o operador OR bit a bit (|) para forçar a entrada em um número inteiro. Se o resultado corresponder ao valor original, a entrada será um número inteiro.

Opções adicionais de validação

Aqui estão mais algumas abordagens para validação de número inteiro:

  • Curto-circuito com parseFloat():
function isInt(value) {
  if (isNaN(value)) return false;
  var x = parseFloat(value);
  return (x | 0) === x;
}
  • NaN Coerção:
function isInt(value) {
  return !isNaN(value) && parseInt(value, 10) == value;
}
  • Truthy 0 Verificação:
function isInt(value) {
  return !isNaN(value) && parseInt(value, 10) && (parseInt(value, 10) | 0) === parseInt(value, 10);
}

A escolha do método de validação correto depende dos requisitos específicos e das considerações de desempenho do seu aplicativo.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3