Specialtegn i brugernav.

Tags:    php

$string = preg_match("/^[A-Za-z0-9_]+$/", $username);

Hvordan får jeg ovenstående kode, til at acceptere: _ - .

Og tjekke for at brugernavnet ikke starter med et tal.

Bogstav først, og tal iblandt det som man vil.
Og godkendes med: - _ .

Håber i forstår. :)




7 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato

Hvordan får jeg ovenstående kode, til at acceptere: _ - .

prøv at escape karakterene, og du kan ligeså godt sætte parameteren i på for at ignore case så tager den A-Z i store og små bogstaver
prøv med (utested)
$string = preg_match("/^[A-Z0-9\_\-\.]+$/i", $username);

http://php.net/manual/en/function.preg-match.php



prøv med
ref http://stackoverflow.com/questions/7828684/how-can-i-check-a-form-post-only-contains-letters-on-multiple-fields-using-preg
if(preg_match("/^[a-zA-Z -]+$/", $_POST['firstname'] . $_POST['lastname']) == 0)





prøv med (utested)
if(preg_match("/^[A-Z -]+$/i", $_POST['fullname']) == 0)

det der er vigtigt at bemærke er mellemrummet mellem Z og -, hvilke gør at der kan være mellemrum i teksten


det vil så også være lovligt at starte med et mellemrum, men det kan klares med trim, hvilke jeg vil anbefale





Kan man ikke få lavet så det er et krav man får både fornavn,efternavn med.

du kunne splitte et op i et array, og tælle antallet af elementer


Og kan man bruge A-Å uden problemer?.

så skal de tilføjes som lovlige karakterer.
du kan muligvis nøjes med kun at tilføje ÆØÅ, men det kommer an på parameter "i" om den kan håndterer æøå


hurtigt eks (utested)
Fold kodeboks ind/udKode 




Tak.

Hvad så med if($password > 5){

Idéen er at få tjekket om den er længere end 5, min: 6 og op.
Acceptere ikke under 6 tegn.


Fandt frem til strlen

if(strlen($password) < 6){

Er det en okay løsning?

//
Det samme, hvordan laver man et tjek på om fullname (fornavn + efternavn) er eks:

Thomas Jørgensen
Med mellem, og et navn igen.

Så det ikke bare bliver Thomas, men også med Jørgensen efter mellemrum.



Indlæg senest redigeret d. 05.04.2015 22:03 af Bruger #21085
Nu kan jeg se det er med firstname og lastname, og det jeg søgte lidt i, var i en som bare hed fullname.

Kan jo ikke lave en <input name="firstname,lastname"> ;)



Ganske fint :)
Har dog bare 2 sidste spørgsmål omkring det.
Kan man ikke få lavet så det er et krav man får både fornavn,efternavn med.
I $fullname, at den tjekker om der er 2 ord.

Eller er det for bøvlet?.

Og kan man bruge A-Å uden problemer?.
Da det nu er navn, så vil man jo kunne kalde sig for Åse, Åge osv. Uden at gå til det old. Aage, Aase mv.

Eller er det bedst at benytte A-Z ?



Indlæg senest redigeret d. 06.04.2015 01:25 af Bruger #21085
t