Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[JS] Hoe moet Invoercontrole (A-Z, a-z, spatie)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik ben sinds kort begonnen om een beetje te leren programmeren en loop tegen een probleem bij javascript.

Ik zou graag een invoercontrole willen op een formulier (naam) die alleen: Hoofdletters, kleine letters, spaties, punten en streepjes(-) toelaat.

Ik wou dit doen met "RegExp":
code:
1
var expn = new RegExp("^[A-Z] [a-z.-] [\s]+$");


Echter werkt dit niet en wordt een naam als "John Smith" tegengehouden.

Ik heb van alles geprobeerd met combinaties van hoe ik de RegExp opbouw maar niets werkt. Ik heb wel een telefoonnummer invoercontrole werkend gekregen doormiddel van:
code:
1
var expt = new RegExp("^[0-9.-]+$");


Ik snap dus niet wat er mis is met mijn naam invoercontrole.

Edit: Ik denk dat voornamelijk de space (\s) problemen geeft.

Bedankt.

[ Voor 4% gewijzigd door Verwijderd op 31-05-2013 14:09 ]


  • The_Ghost16
  • Registratie: Januari 2004
  • Laatst online: 28-10 14:26
Dit is de regex waar je naar op zoek bent:
code:
1
^[A-Za-z\-.\s]*$


A-Z is hoofdletters.
a-z kleine letters.
\- is het streepje (moet geescaped worden).
. is de punt.
\s is een spatie.

Een handige site om je regex te valideren is:
http://regexpal.com/

[ Voor 30% gewijzigd door The_Ghost16 op 31-05-2013 14:14 ]


  • Ghehe
  • Registratie: April 2011
  • Laatst online: 13:59

Ghehe

400 pound hacker

Verwijderd schreef op vrijdag 31 mei 2013 @ 14:07:
code:
1
var expn = new RegExp("^[A-Z] [a-z.-] [\s]+$");
Kijk eens naar de betekenis van de vierkante haakjes, dan zou je moeten snappen wat er fout gaat.

Verwijderd

Topicstarter
The_Ghost16 schreef op vrijdag 31 mei 2013 @ 14:13:
Dit is de regex waar je naar op zoek bent:
code:
1
^[A-Za-z\-.\s]*$


A-Z is hoofdletters.
a-z kleine letters.
\- is het streepje (moet geescaped worden).
. is de punt.
\s is een spatie.

Een handige site om je regex te valideren is:
http://regexpal.com/
Ik heb de regex gebruikt maar het resultaat is dat:
"JohnSmith" werkt.
"johnsmith" werkt.
"John Smith" niet werkt.
" " niet werkt.

Hij accepteert de space dus niet.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 22-11 13:46

Janoz

Moderator Devschuur®

!litemod

Het zou kunnen dat je nog dubbel moet escapen omdat het binnen quotes staat. Probeer eens \\s ipv \s

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Janoz schreef op vrijdag 31 mei 2013 @ 14:26:
Het zou kunnen dat je nog dubbel moet escapen omdat het binnen quotes staat. Probeer eens \\s ipv \s
Aha, dat was het, hij werkt nu.

Erg bedankt allemaal!

Verwijderd

Kennen jullie deze: http://txt2re.com/

(Ik schrijf zelden zelf reguliere expressies meer...)

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Verwijderd schreef op vrijdag 31 mei 2013 @ 16:11:
(Ik schrijf zelden zelf reguliere expressies meer...)
Goed bezig dan ;)
Pagina: 1