Toon posts:

Regex: alleen geldige decimale getallen

Pagina: 1
Acties:
  • 155 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil een inputbox constant valideren op geldige input (elke keer als de tekst verandert).

Geldige input zijn decimale getallen, met maximaal 2 decimalen. Bijvoorbeeld:

12345
12345.
12345.1
12345.12

Ik heb nu het volgende op internet gevonden, maar bijvoorbeeld nummer twee wordt niet gevalideerd. Ook worden getallen met meer dan twee decimalen gewoon doorgelaten.

Regex rx = new Regex(@"\d+(\.+\d{1,2})");

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Is het niet beter daarvoor een inputmask te gebruiken?

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Je hebt een pattern wat dus in de buurt zit. Als je dan nu adhv de pattern syntax gaat leren wat er staat, moet je er eigenlijk al uit kunnen komen.

{signature}


Acties:
  • 0 Henk 'm!

  • Face_-_LeSS
  • Registratie: September 2004
  • Niet online
Dus je wilt getalen met valideren met maximaal 2 decimalen (dus ook zonder decimalen)?

Uit mn hoofd:
^\d+(?:\.\d{1,2})?$

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt, ik heb het nog iets aangepast:

^\d+(?:\.\d{1,2}|\.)?$

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wellicht is het volgende keer handig om even de programmeertaal erbij te vermelden, ook al zijn regexen relatief 'universeel' ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1