• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • nieuwe game

    frio 31 oktober 2026 om 18:06
  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56

Marktplaats

  • [Aanbod] Stadskaart voor je browsergame: van menu naar klikbare stad, vanaf €200

    frio 29 oktober 2026 om 18:17
  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22

Preg match / regex probleem

  • wimmpie
  • 24 maart 2015 om 21:42
  • wimmpie
    âllo âllo
    Berichten
    1.170
    • 24 maart 2015 om 21:42
    • #1

    Hallo iedereen,

    ik ben momenteel bezig met een registratie script en heb daarvoor de volgende regel gebruikt:

    Code
    if((!preg_match('/^[a-zA-Z0-9-_]/', $login)) || strlen($login) < 6 || strlen($login) > 12)
    		{
    			goto Error;
    		}


    Zoals je kan zien moet hij dus alleen logins met letters, cijfers - en _ doorlaten als ze tussen de 6 en de 12 tekens bevatten.
    Maar om een of andere gekke reden wil deze preg_match niks matchen zolang er één van de toegelaten tekens (letters en cijfers dus) vooraan in de string staat.
    a!!!!!!!!! komt er dus wel door maar !!!!!!!!! bijvoorbeeld niet.

    Heeft er iemand van jullie en idee wat ik fout zou kunnen doen?

    Bedankt voor de hulp!

    Willem

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Aaron
    Beheerder
    Berichten
    1.031
    • 25 maart 2015 om 14:18
    • #2

    hallo,

    Probeer eens deze preg_match ( Die gebruik ik bij gebruikersnamen :(


    PHP
    if (preg_match('/^[a-zA-Z0-9\-]+$/', $login))
    		{
    //indien login kan, voer code uit.
    		}
  • wimmpie
    âllo âllo
    Berichten
    1.170
    • 25 maart 2015 om 15:08
    • #3

    En deze werkt! Dankjewel
    (ik snap nog steeds niet wat ik fout deed maar goed...)

  • C.Steenbakkers
    Beginner
    Berichten
    41
    • 25 maart 2015 om 15:58
    • #4

    Gelijk ook even in mijn project toegepast :) was het namelijk bijna vergeten, Bedankt Tytgat!

    Corné

    I'm just here to read the comments :whistling:

  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 27 maart 2015 om 13:12
    • #5
    Citaat van wimmpie

    En deze werkt! Dankjewel

    (ik snap nog steeds niet wat ik fout deed maar goed...)

    Er zijn twee redenen waarom de originele regexp niet werkt zoals je wellicht zou verwachten.

    1. Je controleert niet de hele string. Als je alle karakters in een string wilt controleren moet je de juiste meta-karakters meegeven:
    - een ^ om de start van je input aan te geven
    - een $ om het einde van je input aan te geven (dit karakter ontbreekt)

    2. Je controleert maar één karakter. Met [...] definieer je een set geldige karakters; Vervolgens moet je ook aangeven hoeveel karakters je wilt controleren. Als je dit niet aangeeft controleer je precies 1 karakter.

    Jouw oorspronkelijke regexp controleert dus enkel het éérste karakter van je input.

    De suggestie van A.Tytgat dekt in principe de lading al (controleert de hele string van begin tot eind (^...$) en accepteert een niet-lege input door de + aan het einde (dit houdt in: 1 of meer karakters)).

    Maar in zijn suggestie is wel de underscore weggevallen :).

    Daarnaast kun je de expressie case-insensitive maken door de pattern modifier i - hiermee maak je de expressie case-insensitive.

    Ook kun je met quantifier meta karakters - { accolades } - een minimum en maximum lengte aangeven.

    De volgende reguliere expressie combineert alle bovenstaande punten:

    PHP
    <?php
    if (preg_match('#^[a-z0-9_-]{6,12}$#i', $input) == 1) {
        echo 'win';
    } else {
        echo 'fail';
    }
    ?>


    PRO TIP: Little known fact: de $-delimiter accepteert ook één newline karakter. De volgende invoer wordt dus ook geaccepteerd: "123456789012\n". Je doet er dus verstandig aan om je $login na afloop alsnog te ontdoen van een mogelijke newline door hier (r)trim() overheen te halen.

    .

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design