Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

535
Views
Expresión regular que permite la entrada solo de números y un decimal

Quiero un cuadro de texto de entrada que restrinja a los usuarios a ingresar solo números y un punto decimal.

La expresión regular que estoy usando actualmente es /[^\d.]/g .

Actualmente, esto le permite al usuario ingresar solo números y decimales, pero también permite más de un número decimal. Lo estoy usando para un cuadro de texto que permite solo una cadena de números junto con un decimal que sigue a otra cadena de números pero termina.

Código del cuadro de texto: onkeyup= "this.value=this.value.replace(/[^\d.]/g, '' )" .
Bloque html completo: Enter your second number <input type="text" id="num2" onClick="(this.value='')" onkeyup= "this.value=this.value.replace(/[^\d.]/g, '' )" />

Tengo esta expresión aquí que resalta lo que estoy buscando /^\d+(\.\d+)?/gm es solo que lo necesito completamente invertido.

 /^\d+(\.\d+)?/gm /\d+(\.\d+)/gm /(^\d+[.]\d+)+[\d]+/gm

Las expresiones anteriores permiten la entrada de todo menos números y decimales. Necesito permitir solo números y decimales para la entrada.

He visto otros, pero ninguno parece lograr exactamente lo que estoy buscando. Tampoco quiero permitir números negativos, pero me gustaría que sea opcional.

  • 12.00 - sí
  • .124 - no
  • -.07 - no
  • -65-no
  • 124456 - sí
  • 143467985.65534568746 - sí

Cualquier orientación sería apreciada. Gracias por la ayuda.

about 4 years ago · Santiago Gelvez
2 answers
Answer question

0

Creo que la expresión que estás buscando es /^\d+(\.)?\d+/gm

Puede verlo con los casos de prueba que proporcionó en regex101, aquí

EDITAR: como señaló @Konrad Linkowski, esto no funciona para dígitos individuales como 1 . La expresión regular actualizada (^\.*)+(^0*)+^\d+(\.\d+)? incluye este caso de borde.

about 4 years ago · Santiago Gelvez Report

0

Prueba esto:

 /^\d+(\.\d+)?$/

Debería funcionar para cualquier número decimal positivo.

about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!