15. september 2004 - 16:38Der er
5 kommentarer og 1 løsning
preg_match - Fange tegn der afviger de godkendte
Bruger eksempelvis dette til at validere en tekststreng: --------------------------------- if (preg_match( "/^[a-zæøåA-ZÆØÅ\-\ ]{2,100}$/", $_POST['text'])) { OK } else { Fejl. } ---------------------------------
Kan jeg på en eller anden måde vise brugeren hvilke tegn de har brugt i teksten, som ikke er godkendt? Hvis de nu har skrevet et 2-tal ind i teksten, kan jeg så fortælle dem at det er 2-tallet der er problemet? Altså dynamisk generere fejlmeldingerne...
if ( preg_match( "/([^a-zæøåA-ZÆØÅ\-\ ])/, $_POST['text'] ), $match ) { echo "Du må ikke bruge $match[1] i texten..."; } else { // Evt. yderligere check på længde osv echo "ok"; }
Her er min kode: ---------------------------------------------- <?php if (isset($_POST['memberzipcode'])) { if (strlen($_POST['memberzipcode'])!=0) //if text length exceeds 1 { if (preg_match_all("/([^0-9\-\ ])/", $_POST['memberzipcode'], $match)) //if text only cotains approved characters { $nono = implode(", ", array_unique($match[0])); echo '<script type=\'text/javascript\'>alert(\'Fejl i postnummer.\n\nDet angivne postnummer indeholder forbudte tegn:\n'.$nono.'\');</script>'; } else if (strlen($_POST['memberzipcode'])!=4) //if text has certain length { echo '<script type=\'text/javascript\'>alert(\'Fejl i postnummer.\n\nEt postnummer består af 4 tal.\');</script>'; } else if (strlen($_POST['memberzipcode'])>4) //if text length exceeds max length { echo '<script type=\'text/javascript\'>alert(\'Fejl i postnummer.\n\nLængden må ikke overstige 4 tegn.\');</script>'; } else //if text contains non-approved characters { $count++; } } else //if length is zero, which is okay { $count++; } } ?> ----------------------------------------------
Variablen count som tælles op når input'et valideres korrekt, bruger jeg til at kalde en funktion der udfører database kaldene... Hvis jeg f.eks. har 4 input felter der skal valideres, så skal count være lige 4 førend funktionen kaldes....
Tak for hjælpen coderdk :)
Synes godt om
Ny brugerNybegynder
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.