Avatar billede venchil Nybegynder
29. juli 2006 - 07:13 Der er 9 kommentarer

Check om streng er valid

Hej eksperter!
Kan nogen af jer fremstille en funktion/noget kode, der tester, om en given variabel kun indeholder A-Z, a-z, 0-9, -, / eller _
Det er også et regex-spørgsmål, men jeg håber dette er den rigtige kategori...

Der gives 35 point for et brugbart svar
Avatar billede erikjacobsen Ekspert
29. juli 2006 - 09:03 #1
$a='what_ever';
if (preg_match('/^[a-zA-Z0-9/_-]+$/',$a)) {
  print "ok";
} else {
  print "ged";
}
Avatar billede nielle Nybegynder
29. juli 2006 - 09:43 #2
Jeg gætter på at regex-motoren får problemer hvis der er et /-tegn i hver ende af mønsteret:

$a='what_ever';
if (preg_match('#^[a-zA-Z0-9/_-]+#/',$a)) {
  print "ok";
} else {
  print "ged";
}

Desuden ville jeg nok selv bruge \w her, selv om den også kan finde på at tillade æ, ø åg å alt efter locale:

$a='what_ever';
if (preg_match('#^[\w/-]+$#i',$a)) {
  print "ok";
} else {
  print "ged";
}
Avatar billede erikjacobsen Ekspert
29. juli 2006 - 10:46 #3
Ja, jeg havde overset /-en, og ikke testet den ;)

Men skal vi så ikke lave din
  if (preg_match('#^[a-zA-Z0-9/_-]+#/',$a)) {
om til
  if (preg_match('#^[a-zA-Z0-9/_-]+#',$a)) {
så der er en chance for at den virker.

Hvis man kun vil have a-z skal man ikke bruge \w - men det afhænger af om spørgeren mener noget andet end der står skrevet ;)
Avatar billede erikjacobsen Ekspert
29. juli 2006 - 10:51 #4
Faktisk laves om til
  if (preg_match('#^[a-zA-Z0-9/_-]+$#',$a)) {
Avatar billede nielle Nybegynder
29. juli 2006 - 12:26 #5
LOL, det må være varmen :^)
Avatar billede nielle Nybegynder
29. juli 2006 - 12:30 #6
Eller til:

if (preg_match('#^[a-z0-9/_-]+$#i',$a)) {
Avatar billede Slettet bruger
29. juli 2006 - 17:17 #7
Og så lige en detalje: Hvis venchil ønsker at den også skal godtage en tom streng, skal + ændres til * som i:

if (preg_match('#^[a-z0-9/_-]*$#i',$a)) {
Avatar billede venchil Nybegynder
29. juli 2006 - 19:45 #8
Ehm... jeg ved sgu ikke helt hvem jeg skal give point til, men nielle kom med den endelige løsning, så han må gerne lægge et svar...
Avatar billede nielle Nybegynder
29. juli 2006 - 21:22 #9
Jeg byggede nu bare lidt videre på erikjacobsen's ... og var i øvrigt lige god til at kludre i det.

Læg du bare selv et svar og tag dine point igen :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

JP/Politikens Hus

Digital Workplace Supporter

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst

Politiets Efterretningstjeneste

AI/ML udvikler i PET

Politiets Efterretningstjeneste

Configuration Manager til PET's IT-afdeling