05. maj 2008 - 14:02Der er
8 kommentarer og 1 løsning
Validering af billede til upload
Jeg skal have lavet et Javascript som tjekker billedet, som brugere ønsker at uploade, men da jeg ikke kender så meget til Javascript, vil jeg høre om der er nogen her på Eksperten, som kan hjælpe mig med dette.
Når brugere har valgt et billede de ønsker at uploade og trykker "Upload", skal der tjekkes for følgende.
Først skal der tjekkes for om filtypen er korrekt. Der skal kun tillades .jpg og .gif. Hvis filtypen ikke er okay, skal der vises en alertbox, som informerer brugeren om dette.
Hvis filtypen ER okay, skal der tjekkes for navnet på billedet. Navnet på billedet må kun indeholde nedenstående:
a-z (store & små bogstaver) 0-9 æøå (store & små bogstaver) -_ (bindestreg & underscore) () Mellemrum (space)
Hvis billedet indeholder andre tegn end de ovenstående, skal der vises en alertbox, som informerer brugeren om dette.
Det skal være muligt at submitte formularen uden at have valgt et billede til upload.
Ikke gennemtestet (jeg havde simpelthen ikke billeder med navne, der ikke matchede betingelserne !-)
<script language="javascript" type="text/javascript"> function valider(f){ var billednavn = f.upload.value.replace(/^.*[/\\]([^/\\]+)$/,"$1"); if(billednavn){ if(!billednavn.match(/\.(gif|jpe?g)$/i)){ alert("Du skal vælge en gif eller jp(e)g-fil til upload"); return false; } if(!billednavn.match(/^[a-zæøå\d\(\)_ -]+\.(gif|jpe?g)$/i)){ alert("Dit uploadbilledes navn må kun indeholde:\nalmindelige danske bogstaver, tal, -, _, mellemrum og paranteser !-)"); return false; } } //her kan du så sætte evt. andre betingelser ind return true; } </script>
RegExp'en kunne vel forkortes en anelse til: if (!billednavn.match(/^.*\.(gif|jpe?g)$/i)) {
- eller: if (!(/^.*\.(gif|jpe?g)$/i).test(billednavn)) {
- men spørgsmålet er, om det er smart at tillade æ, ø, å og mellemrum. De tegn giver ofte problemer i forbindelse med filnavne på WWW (som det er mere end kendt fra f.eks. PHP-kategorien) ;o)
/mvh </bole>
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.