Avatar billede askovdk Nybegynder
17. januar 2011 - 12:54 Der er 11 kommentarer og
1 løsning

Indsæt tal i variabel hvis den ikke indeholder tal

$adresse = "Andevej";

Hvordan laver jeg et tjek hvor den tjekke om $adresse indeholder et tal ?

Hvis den IKKE indeholder et tal, skal der indsættes "0"...

$adresse = "Andevej 0";
Avatar billede repox Seniormester
17. januar 2011 - 13:34 #1
if( !preg_match("#[0-9]+#", $adresse) )
  $adresse.= " 0";
Avatar billede askovdk Nybegynder
17. januar 2011 - 14:04 #2
Hov jeg fandt ud af det var forkert mit spørgmål

Kan den blot tjekke om den både indholder tal og bogstaver ?

if( tjek ) {

indeholder IKKE TAL OG BOGSTAVER....

}
Avatar billede askovdk Nybegynder
17. januar 2011 - 14:19 #3
Den er virker "lidt", men ikke hvis der er mellemrum eller Æ Ø Å, hvordan får man den til at virke med det ?

if(!preg_match('/^[a-z]+(\d+)$/', $adresse)) {
   
echo "fejl";
}
else
    echo "ok";
Avatar billede repox Seniormester
17. januar 2011 - 14:23 #4
Hvis det er en adresse der skal tests på, så vil den jo fejle på adresser som:
Andevej 12, st. tv.


Hvad er en gyldig adresse for dig?
Avatar billede askovdk Nybegynder
17. januar 2011 - 14:32 #5
Ja Andevej 12, st. tv. er gyldig

Den skal blot tjekke om adresse både indeholder tal og bogstaver


men der må gerne være , . æ ø å

fx. Kærvej Alle 245 1.T.V osv.....
Avatar billede michael_stim Ekspert
17. januar 2011 - 14:41 #6
Hvad hvis man skriver Kærvej Allé 1. tv

Så misser du alligevel nummeret ;o)
Avatar billede askovdk Nybegynder
17. januar 2011 - 14:51 #7
Ja det er rigtigt med det kan jeg godt leve med :-)

For ellers skal der laves felter med husnummer, etage osv, og det vil jeg helst undgå...

Så den skal blot tjekke for bogstaver og tal
Avatar billede askovdk Nybegynder
17. januar 2011 - 16:56 #8
if(!preg_match('/^[a-z]+(\d+)$/', $adresse)) {

hmm har fundet ud af at denne også kun virker hvis tallet står til sidst, og det gør det jo ikke altid...

hmm nogen der har en løsning ?
Avatar billede askovdk Nybegynder
17. januar 2011 - 17:15 #9
Nu virker det vist med denne: :-)


if(!preg_match('/[a-zA-ZæøåÆØÅ0-9 .,-_:;()+*#=&]+(\d+)/', $adresse)) {
Avatar billede repox Seniormester
17. januar 2011 - 17:36 #10
Stjerner, lighedstegn, underscores og semikolon (blandt andre) er altså tegn, som også validerer som kunne være en reel adresse? Har valideringen så ikke mistet din værdi?

Måske du skulle overveje vigtigheden af en korrekt opgivet adresse - er det vigtigt for dig, fordi det er et must at komme i fysisk kontakt med brugeren? I så fald skulle du måske overveje CPR validering være en mulighed for din løsning.

Er det vigtigt for brugeren at du har den rette adresse for at du kan sende varer eller fysisk materiale til denne? Så er der intet i vejen for at lægge den del af ansvaret, at du har den rette adresse, over på brugeren.
Avatar billede askovdk Nybegynder
17. januar 2011 - 20:36 #11
> repox

Det kan du jo have ret i med alle de tegn, smid svar, du kom trods alt med svar på det jeg spurgte om :-)
Avatar billede repox Seniormester
18. januar 2011 - 08:37 #12
Du fik svar her.
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