pregmatch kleine letter OF hoofdletter

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jordi Kroon

Jordi Kroon

20/02/2011 12:16:45
Quote Anchor link
Hallo ,

Ik heb nu deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if (!preg_match('/[^0-9a-z]/',$_POST['upass'])) {
Echo 'niet goed';
}

?>


Maar nu is dit verplicht:
letter cijfer combinatie

Maar ik wil het zo doen
letter cijfer combinatie OF hoofdletter cijfer combinatie

Hoe maak ik dit mogelijk?
Gewijzigd op 20/02/2011 12:32:33 door Jordi Kroon
 
PHP hulp

PHP hulp

23/12/2024 19:37:07
 

20/02/2011 12:19:06
Quote Anchor link
Ik zie geen combinatie.
 
Jordi Kroon

Jordi Kroon

20/02/2011 12:21:28
Quote Anchor link
als ik dit intyp :
abcdef123 dan is het goed
Maar het mag ook zo
ABCDEF123
 

20/02/2011 12:23:20
Quote Anchor link
Jij snapt regexen dus niet.
Die regex van jou kijkt alleen naar de eerste letter.
Gebruik gewoon ctype_alnum.
 
Jordi Kroon

Jordi Kroon

20/02/2011 12:24:33
Quote Anchor link
Het is gelukt ,
Bedankt :)


Toevoeging op 20/02/2011 12:29:29:

Toch niet , xD

Deze kijkt alleen of er geen speciale tekens in zitten , Maar ik wil dat er minimaal 1 cijfer in zit en 1 letter en de letter maakt niet uit of het een kleine of een grote letter is

Toevoeging op 20/02/2011 12:31:26:

even de regex aangepast
Gewijzigd op 20/02/2011 12:29:47 door Jordi Kroon
 
Martijn B

Martijn B

20/02/2011 13:25:38
Quote Anchor link
Zo dan?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if( !preg_match('/^[0-9a-zA-Z]{2,}$/D', $_POST['upass'])
    || !
preg_match('/[0-9]/', $_POST['upass']) )
{

  Echo 'niet goed';
}

?>
Gewijzigd op 20/02/2011 13:27:49 door Martijn B
 
Jordi Kroon

Jordi Kroon

20/02/2011 13:32:48
Quote Anchor link
dat werkt niet , blijf bij alles de melding krijgen niet goed

Toevoeging op 20/02/2011 13:36:24:

oh ik zie dat je hem hebt aangepast het werkt nu alleen je kan ook aaaaaaaa of 111111111 in typen en dat moet juitst niet
 
Martijn B

Martijn B

20/02/2011 13:41:08
Quote Anchor link
Ik heb er een test script van gemaakt het het lijkt goed.
Wat is de waarde van $_POST['upass'] ?
Doe eens een var_dump() daarvan...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php

$aWachtwoorden
= array(
    'sdfsd',
    'a4',
    'fdsf656',
    'f*W656'
);

foreach( $aWachtwoorden as $sWachtwoord )
{

    if( !preg_match('/^[0-9a-zA-Z]{2,}$/D', $sWachtwoord)
        || !
preg_match('/[0-9]/', $sWachtwoord) )
    {

      echo 'Niet goed(' . $sWachtwoord . ')<br />';
    }

    else
    {
      echo 'Is goed ("' . $sWachtwoord . '")<br />';

    }

}


/*
Niet goed(sdfsd)
Is goed ("a4")
Is goed ("fdsf656")
Niet goed(f*W656)
*/


?
 
Jordi Kroon

Jordi Kroon

20/02/2011 13:47:46
Quote Anchor link
Ohke heb het even getest en het werkt op 1 ding na

Ik krijg deze resultaten:

Niet goed(abcdef)
Niet goed(ABCDEF)
Is goed ("ABC123")
Is goed ("abc123")
Is goed ("a111111")
Is goed ("1111111")

de laatste moet niet goed zijn
 
Martijn B

Martijn B

20/02/2011 13:53:25
Quote Anchor link
Ik heb het aangepast.

Ik zou overigens "a-zA-Z" en de regexen aanpassen naar wat meer tekens.
Misschien dat je er dit van moeten maken "\D" .

Dat betekend: any character that is not a decimal digit


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php

$aWachtwoorden
= array(
    'sdfsd',
    'a4',
    'fdsf656',
    'f*W656',
    'aaaaaaaa',
    '111111111',
    'abcdef',
    'ABCDEF',
    'ABC123',
    'abc123',
    'a111111',
    '1111111'
);

foreach( $aWachtwoorden as $sWachtwoord )
{

    if( // Zit er in het wachtwoord geen geldige tekens
        !preg_match('/^[0-9a-zA-Z]{2,}$/D', $sWachtwoord)
        
        // Zitten er alleen letters in
        || preg_match('/^[a-zA-Z]+$/D', $sWachtwoord)

        // Zitten er alleen cijfers in
        || preg_match('/^[0-9]+$/D', $sWachtwoord)
        
        // Zit er geen een cijfer in
        || !preg_match('/[0-9]/', $sWachtwoord) )
    {

      echo 'Niet goed ( ' . $sWachtwoord . ' ) <br />';
    }

    else
    {
      echo 'Is goed ( ' . $sWachtwoord . ' ) <br />';

    }
}


/*
Niet goed ( sdfsd )
Is goed ( a4 )
Is goed ( fdsf656 )
Niet goed ( f*W656 )
Niet goed ( aaaaaaaa )
Niet goed ( 111111111 )
Niet goed ( abcdef )
Niet goed ( ABCDEF )
Is goed ( ABC123 )
Is goed ( abc123 )
Is goed ( a111111 )
Niet goed ( 1111111 )
*/


?>


edit:

Wat ik bedoel is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
foreach( $aWachtwoorden as $sWachtwoord )
{

    if( // Zit er in het wachtwoord geen geldige rekens
        !preg_match('/^[\d\D]{2,}$/D', $sWachtwoord)
        
        // Zitten er alleen letters in
        || preg_match('/^\D+$/D', $sWachtwoord)

        // Zitten er alleen cijfers in
        || preg_match('/^\d+$/D', $sWachtwoord)
        
        // Zit er geen een cijfer in
        || !preg_match('/\d/', $sWachtwoord) )
    {

      echo 'Niet goed ( ' . $sWachtwoord . ' ) <br />';
    }

    else
    {
      echo 'Is goed ( ' . $sWachtwoord . ' ) <br />';

    }
}

?>


Nu is het wachtwoord "f*W656" ook goed.
Gewijzigd op 20/02/2011 14:03:31 door Martijn B
 
Jordi Kroon

Jordi Kroon

20/02/2011 14:00:12
Quote Anchor link
vanaf hier kan ik wel verder ,
Bedankt :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.