RegEx match op lege string?

Pagina: 1
Acties:

Onderwerpen


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
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


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

niet werken?

  • JasperE
  • Registratie: December 2003
  • Laatst online: 03-11 22:21
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 ]


Verwijderd

Weet er niet echt veel van, maar zou

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

niet werken? Niet echt 13 dit trouwens :)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 13:54

.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.


  • Da Weef
  • Registratie: Januari 2004
  • Laatst online: 31-10 15:59
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 ]

.


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
Ja, ik alléén één enkele regex ter beschikking voor de validatie

Houdoe


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
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


  • Pkunk
  • Registratie: December 2003
  • Laatst online: 02-11 10:08
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


  • Tjolk
  • Registratie: Juni 2007
  • Laatst online: 18:25
XKCD blijft gewoon geweldig. :)

Tjolk is lekker. overal en altijd.

Pagina: 1