• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 4 januari 2026 om 10:58
  • Developer Gezocht

    K.Rens 30 december 2025 om 12:32
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 28 december 2025 om 21:20
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Preg match / regex probleem

  • wimmpie
  • 24 maart 2015 om 21:42
  • wimmpie
    âllo âllo
    Ontvangen Reacties
    11
    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

  • Aaron
    Administrator
    Ontvangen Reacties
    60
    Berichten
    1.020
    • 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
    Ontvangen Reacties
    11
    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
    Ontvangen Reacties
    26
    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
    Ontvangen Reacties
    196
    Articles
    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.

    .

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

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. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design