Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

185
Visualizações
Compruebe si una cadena con coma y punto es un número decimal adecuado Javascript y extraiga el valor numérico

Estoy tratando de validar mi campo de entrada al verificar si una cadena es un número adecuado con coma y punto y, en caso afirmativo, obtener el valor

Probé dos funciones que no funcionaban como se esperaba:

 function isNumeric(str) { console.log(parseFloat(str.replace(/,/g,''))) return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)... !isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail } const isValidNumber = (str) => { console.log(parseFloat(str.replace(/,/g,''))) // return /^[0-9,.]*$/.test(str); return /^\d{0,4}(?:[.,]\d{1,3})?$/.test(str) // return /^[0-9,]?.[0-9]/.test(str); // return /([0-9,.]+)$/.test(str) }

los casos de prueba que preparé

 console.log(isNumeric("2"))//true console.log(isNumeric("2,00,000"))//true console.log(isNumeric("2,7,5,.34"))//false console.log(isNumeric("2,450,0000.22.22"))//false console.log(isNumeric("2q,3,4"))//false

Pero no funciona según lo previsto, necesito una expresión regular para arreglar esto. También es necesario comprobar si parseFloat(str.replace(/,/g,'')) es la forma correcta de extraer valor

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Aquí hay un patrón general de expresiones regulares para hacer coincidir un número con el separador de miles adecuado y un componente decimal opcional:

 \d{1,3}(?:,\d{3})*(?:\.\d+)? 

 function isNumeric(input) { return /^\d{1,3}(?:,\d{3})*(?:\.\d+)?$/.test(input); } console.log(isNumeric("2")); // true console.log(isNumeric("2,000,000")); // true console.log(isNumeric("3.14159")); // true console.log(isNumeric("2,7,5,.34")); // false console.log(isNumeric("2,450,0000.22.22")); // false console.log(isNumeric("2q,3,4")); // false

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda