/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Har jeg lavet regexp rigtigt?
Fra : MooreHojer


Dato : 17-08-07 04:39

Hej NG

Jeg er total nybegynder i Regular Expresions, og kunne derfor godt tænke
mig at tjekke om jeg har forstået det rigtigt.

Jeg bruger følgende kode til at tjekke to variabler $username og $password:

   //////////////////////////
   ////////KODE START////////
   //////////////////////////

$regexp_user = "^[a-zA-Z0-9]{6,15}$";
$regexp_pass = "^[a-zA-Z0-9 ]{6,15}$";
$regexp_start = "^ +";
$regexp_end = " $";


if(ereg($regexp_user ,$username) and !ereg($regexp_start ,$username) and
!ereg($regexp_end ,$username)) {
echo "PASSWORD ER OK";
} else {
echo "PASSWORD ER IKKE OK";
}

if(ereg($regexp_pass ,$password) and !ereg($regexp_start ,$password)
and !ereg($regexp_end ,$password)) {
echo "PASSWORD ER OK";
} else {
echo "PASSWORD ER IKKE OK";
}


   //////////////////////////
   ////////KODE SLUT/////////
   //////////////////////////

Hvis nogen der er øvede i Regular Expression vil kigge på koden og sige
hvordan de læser at et input skal være formateret for at blive godkendt
som henholdsvis brugernavn og password, så jeg kan se om jeg har
forstået det korrekt.

På Forhånd Tak!

--
MooreHojer

 
 
Michael Zedeler (17-08-2007)
Kommentar
Fra : Michael Zedeler


Dato : 17-08-07 08:54

MooreHojer wrote:
> Hej NG
>
> Jeg er total nybegynder i Regular Expresions, og kunne derfor godt tænke
> mig at tjekke om jeg har forstået det rigtigt.
>
> Jeg bruger følgende kode til at tjekke to variabler $username og $password:
>
> //////////////////////////
> ////////KODE START////////
> //////////////////////////
>
> $regexp_user = "^[a-zA-Z0-9]{6,15}$";
> $regexp_pass = "^[a-zA-Z0-9 ]{6,15}$";

Det er usædvanligt at kræve at der _ikke_ er specialtegn i et password,
men at tillade mellemrum.

> $regexp_start = "^ +";
> $regexp_end = " $";
>
> if(ereg($regexp_user ,$username) and !ereg($regexp_start ,$username) and
> !ereg($regexp_end ,$username)) {
> echo "PASSWORD ER OK";
> } else {
> echo "PASSWORD ER IKKE OK";
> }

Du behøver ikke $regexp_start og -end ovenfor - du har jo ^ og $ med i
de andre udtryk.

> if(ereg($regexp_pass ,$password) and !ereg($regexp_start ,$password) and
> !ereg($regexp_end ,$password)) {
> echo "PASSWORD ER OK";
> } else {
> echo "PASSWORD ER IKKE OK";
> }

Her kan du bygge et check ind i regexp_pass som overflødiggør
regexp_start og regexp_end:

> $regexp_pass = "^[a-zA-Z0-9 ]{6,15}$";

$regexp_pass = "^[a-zA-Z0-9][a-zA-Z0-9 ]{4,13}[a-zA-Z0-9]$"

Kig iøvrigt også på [[:alpha:]].

Mvh. Michael.

MooreHojer (17-08-2007)
Kommentar
Fra : MooreHojer


Dato : 17-08-07 11:36

> Det er usædvanligt at kræve at der _ikke_ er specialtegn i et password,
> men at tillade mellemrum.

Ved det
Det er fordi det er en opdatering af et ældre system og dette er de
gamle krav som ønskes bevaret da samme brugernavn og password bruges i
et andet system hvor dette også er kravene.

Men ellers enig

>> if(ereg($regexp_user ,$username) and !ereg($regexp_start ,$username)
>> and !ereg($regexp_end ,$username)) {
>> echo "PASSWORD ER OK";
>> } else {
>> echo "PASSWORD ER IKKE OK";
>> }
>
> Du behøver ikke $regexp_start og -end ovenfor - du har jo ^ og $ med i
> de andre udtryk.

Selvfølgelig


> Her kan du bygge et check ind i regexp_pass som overflødiggør
> regexp_start og regexp_end:
>
> > $regexp_pass = "^[a-zA-Z0-9 ]{6,15}$";
>
> $regexp_pass = "^[a-zA-Z0-9][a-zA-Z0-9 ]{4,13}[a-zA-Z0-9]$"

Nå ja


> Kig iøvrigt også på [[:alpha:]].

???


Tusind Tak for hjælpen, jeg lærte faktisk en del af de få linier

--
MooreHojer

Michael Zedeler (17-08-2007)
Kommentar
Fra : Michael Zedeler


Dato : 17-08-07 23:53

MooreHojer wrote:
>> Kig iøvrigt også på [[:alpha:]].
>
> ???

Prøv at slå det op i manualen.

Mvh. Micahel.

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste