RegEx match op lege string?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 29-07 11:23
Ik heb een formulier met validatie op basis van regular expressions.

De invoer is een 06-nummer. Hiervoor heb ik volgende validatie:
code:
1
06[1-9]\d{7}

Dit werkt (uiteraard) prima. Maar soms vult een gebruiker geen 06-nummer is. Dan moet de validatie óók accoord gaan.
Ik krijg dit niet voor elkaar. Al enorm veel forums heb ik doorgespit, maar niemand lijkt het precies te weten.

Houdoe


Acties:
  • 0 Henk 'm!

  • ceno
  • Registratie: Maart 2000
  • Laatst online: 06-12-2021
Zou
code:
1
(06[1-9]\d{7}|^$)

niet werken?

Acties:
  • 0 Henk 'm!

  • JasperE
  • Registratie: December 2003
  • Laatst online: 11-09 18:26
Dus gewoon een reeks van 10 cijfers?
code:
1
^[0-9]{10}$


Of bedoel je dat het ook akkoord moet gaan als er enkel "06" ingevuld wordt?
code:
1
^06([1-9]\d{7})?$


Of bedoel je dat er of een 06 nummer ingevuld mag worden maar dat helemaal niks invullen ook toegestaan moet worden:
code:
1
^(06[1-9]\d{7})?$


Edit: Je moet wel ^$ anchors toevoegen. "hoi0612345678retteketet" matcht namelijk ook prima op de regex "06[1-9]\d{7}"
Some people, when confronted with a problem, think
“I know, I'll use regular expressions.” Now they have two problems.
;)

[ Voor 106% gewijzigd door JasperE op 20-10-2009 17:55 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Weet er niet echt veel van, maar zou

(06[1-9]\d{7})?

niet werken? Niet echt 13 dit trouwens :)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

Witte schreef op dinsdag 20 oktober 2009 @ 17:41:
Ik heb een formulier met validatie op basis van regular expressions.
[..]
Maar soms vult een gebruiker geen 06-nummer is. Dan moet de validatie óók accoord gaan.
De eerste vraag die bij mij in m'n hoofd opkomt is: waarom wil je dit überhaupt allemaal met 1 regex oplossen? Waarom niet gewoon een check met een regex, en daarnaast nog een check op een lege string?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Da Weef
  • Registratie: Januari 2004
  • Laatst online: 15-09 09:16
Waarom niet eerst een check of het veld leeg is en daarna de regex??? Of ben je ergens aan gebonden?


Spuit twaalf

[ Voor 14% gewijzigd door Da Weef op 20-10-2009 18:01 ]

.


Acties:
  • 0 Henk 'm!

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 29-07 11:23
Ja, ik alléén één enkele regex ter beschikking voor de validatie

Houdoe


Acties:
  • 0 Henk 'm!

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 29-07 11:23
JasperE schreef op dinsdag 20 oktober 2009 @ 17:44:
Of bedoel je dat er of een 06 nummer ingevuld mag worden maar dat helemaal niks invullen ook toegestaan moet worden:
code:
1
^(06[1-9]\d{7})?$


Edit: Je moet wel ^$ anchors toevoegen. "hoi0612345678retteketet" matcht namelijk ook prima op de regex "06[1-9]\d{7}"

[...]
;)
Dit was hem! :)

Houdoe


Acties:
  • 0 Henk 'm!

  • Pkunk
  • Registratie: December 2003
  • Laatst online: 11-09 17:52
JasperE schreef op dinsdag 20 oktober 2009 @ 17:44:
Dus gewoon een reeks van 10 cijfers?
code:
1
^[0-9]{10}$


Of bedoel je dat het ook akkoord moet gaan als er enkel "06" ingevuld wordt?
code:
1
^06([1-9]\d{7})?$


Of bedoel je dat er of een 06 nummer ingevuld mag worden maar dat helemaal niks invullen ook toegestaan moet worden:
code:
1
^(06[1-9]\d{7})?$


Edit: Je moet wel ^$ anchors toevoegen. "hoi0612345678retteketet" matcht namelijk ook prima op de regex "06[1-9]\d{7}"

[...]
;)
Beetje off topic, maar hij is zo toepasselijk :p
Wait, forgot to escape a space.  Wheeeeee[taptaptap]eeeeee.

Hallo met Tim


Acties:
  • 0 Henk 'm!

  • Tjolk
  • Registratie: Juni 2007
  • Laatst online: 15:12
XKCD blijft gewoon geweldig. :)

Tjolk is lekker. overal en altijd.

Pagina: 1