Gå til innhold

Trenger regex kode


Anbefalte innlegg

Videoannonse
Annonse
  • 2 uker senere...
Gjest Slettet+142
Skrevet

\n er linjeskift..

 

preg_match('/^[a-zA-Z0-9 \?!\n\.\-,]+$/', $streng);

Skrevet

Har prøvd både med

if(preg_match('/^[a-zA-ZæøåÆØÅ0-9\?!\n\.:;\-,]+$/', $_POST["notistekst"]))

 

og

 

if(preg_match('/^[a-zA-ZæøåÆØÅ0-9m\?!\.:;\-,]+$/', $_POST["notistekst"]))

 

- Ingen av dem tillater linjeskift.

Skrevet

Tror det her har blitt litt missforstått. :p

"/^[a-zA-Z0-9 \?!\n\.\-,]+$/"

\n Må innen "" fnutter for å virkelig være linjeskift.

Bruker du uansett 'm'-modifieren trenger du ikke legge inn \n heller.

'/^[a-zA-Z0-9 \?!\.\-,]+$/m'

Skal da være riktig siden linjeskift også kan være \r\n så slipper du maset med det hele.

Skrevet (endret)

det har du helt rett i. poenget mitt var mest hvor m skulle brukes. altså ikke inne i klassen.

 

"/^[a-zA-Z0-9 \\?!\n\r\\.\\-,]+$/"

 

blir noe sånt da. men /m er en like grei løsning.

vil forresten anbefalle et program som heter regex coach.

Endret av grimjoey
  • 2 måneder senere...
Skrevet

Hvis strengen ikke er tom, men inneholder mellomrom, så blir den tolket som "fylt ut".

Hvordan kan jeg få den til å sjekke om det er KUN mellomrom der?

 

preg_match('/^[ ]+$/', $tekst)

Skrevet (endret)

if(empty($string))

{

echo 'Stringen er tom eller inneholder mellomrom som gjør den like tom.';

}

 

Du kan vel også 'trimme' stringen før du setter den inn. http://php.net/trim

Endret av LoS

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...