Avatar billede angelenglen Nybegynder
02. september 2003 - 19:38 Der er 10 kommentarer og
1 løsning

validering af file-input felt

lige nu bruger jeg følgende script:
-------------------------------------

        <script>
        <!--
        function valider( frm ) {
            if ( frm.billed.value.length == 0 ) {
                alert( "Husk at vælge en fil - Det skal være af typen jpg." );
                return false;
            }
            return true;
        };
        -->
        </script>
-------------------------------------


kombineret med fx denne form:
-------------------------------------
<form method=post enctype="multipart/form-data" onsubmit="return valider( this )" >   
<input type="file" name="billed">    
<input type="submit" name="submit" value="Tilføj billed">
</form>
-------------------------------------



mit problem ligger i, at dette script kun checker om der er noget i boksen - jeg ville gerne have et script, det checker om de sidste 3 bogstaver er "jpg"

help meh!
Avatar billede Slettet bruger
02. september 2003 - 20:31 #1
<script type="text/javascript">
function valider(frm) {
val = frm.billed.value;
if (val.length == 0 || val.substring(val.lastIndexOf("."), val.length).toLowerCase() != ".jpg") {
  alert("Husk at vælge en fil - Det skal være af typen jpg.");
  return false;
}
return true;
}
</script>
Avatar billede Slettet bruger
02. september 2003 - 20:31 #2
Der gik lidt galt med indrykningerne, men resten skulle være fint nok...
Avatar billede angelenglen Nybegynder
02. september 2003 - 21:48 #3
det virker prefekt, svar for points!

Takker!
Avatar billede roenving Novice
02. september 2003 - 22:57 #4
Et alternativ, som vil protestere, hvis ikke der er noget foran .jpg ...

        <script type="text/javascript">
        <!--
        function valider( frm ) {
            val = frm.billed.value;
            reg = /\w+\.jpg$/i;
            if ( !val.match(reg) ) {
                alert( "Husk at vælge en fil - Det skal være af typen jpg." );
                return false;
            }
            return true;
        };
        -->
        </script>
Avatar billede pelkjaer Nybegynder
03. september 2003 - 11:21 #5
og en model med jpg *og* jpeg :)

var theFile = field.value.replace(/"/gi,'');
which = new RegExp("\.(jpg|jpeg)$","i");
if(!which.test(theFile)) {
  //brok dig
}
Avatar billede roenving Novice
03. september 2003 - 12:54 #6
>>pelkjaer

-- så kan vi vel også til din tilføje min ekstra-ting:

which = new RegExp("\\w+\.(jpg|jpeg)$","i");

-- så accepterer den godt nok _ alene foran .jp(e)g men ...
Avatar billede pelkjaer Nybegynder
03. september 2003 - 12:55 #7
absolut :)
Avatar billede angelenglen Nybegynder
04. september 2003 - 02:36 #8
hmm hvad bliver det endelige resultat så?
-og skriv nogle svar, så kan i dele points
Avatar billede roenving Novice
04. september 2003 - 02:58 #9
Simpleste udgave, som udnytter regular expression er nok:

  <script type="text/javascript">
    function valider( frm ) {
      val = frm.billed.value;
      reg = /\w+\.jp[e]?g$/i;
      if ( !val.match(reg) ) {
        alert( "Husk at vælge en fil - Det skal være af typen jpg (.jpeg/.jpg)" );
        return false;
        }
      return true;
      };
    </script>

Principielt accepterer den desværre også _ som første bogstav, men det komplicerer voldsomt at lave en lille tilpasning lige på dette område, da tegnet ellers er iorden !-)

Velbekomme '-)
Avatar billede angelenglen Nybegynder
05. september 2003 - 22:24 #10
takker :)
Avatar billede roenving Novice
06. september 2003 - 01:59 #11
-- og jeg takker for points ;~}
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

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Netcompany A/S

Linux Operations Engineer

Capgemini Danmark A/S

Microsoft AI Solution Architect

Politiets Efterretningstjeneste

GenAI Specialist i PET