pregmatch kleine letter OF hoofdletter
Ik heb nu deze code:
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
Ik zie geen combinatie.
abcdef123 dan is het goed
Maar het mag ook zo
ABCDEF123
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
Code (php)
1
2
3
4
5
6
7
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';
}
?>
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
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
Wat is de waarde van $_POST['upass'] ?
Doe eens een var_dump() daarvan...
Code (php)
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
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)
*/
?
$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)
*/
?
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
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)
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
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 )
*/
?>
$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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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 />';
}
}
?>
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
Bedankt :)