Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Possibili RegExp consecutive sulla stessa stringa?

    Ciao. Ho due campi File dai quali è possibile selezionare due immagini dalle proprie cartelle.
    Ho bisogno di verificare che, se il nome della prima è foto.jpg, la seconda sia fotomini.jpg.
    Ho provato così:

    codice:
    function check() {
    
    	if (document.all.file1.value == "" || document.all.file2.value == "") 
                       
                      {alert("Devi inserire entrambe le immagini!"); return false;} 
    	
    	else {
    
    	
    		primo = document.all.file1.value;
    		re = /[^\\]*$/;
    		uno = primo.match(re);
    		alert(uno);                           // e questo funziona
    
    		secondo = document.all.file2.value;
    		re = /[^\\]*$/;
    		due = secondo.match(re);
    		alert(due);                         // anche qui ok
    
    		re = /mini/gi;
    		control=due.replace(re, "");  // qua mi dà errore!
    		alert(control)
    
    
    	if (control !== uno) {alert("Il formato del nome della miniatura non è corretto!"); return false;} else {return true;}
    	
    	}
    }
    Mi dice che due.replace(re, ""); non è una proprietà o metodo supportato...
    Il problema è che sembra che non si possa usare la RegExp due volte sulla stessa stringa! Infatti se la applico ad una nuova stringa, funziona. Come posso fare?
    Grazie!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il metodo match() restituisce un array, quindi nel momento in cui vorresti fare la replace() nella variabile due non e' piu' contenuta una stringa...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    se la teoria non è un opinione prova a cambiare

    control=due.replace(re, "")

    in

    control=due[0].replace(re, "")


    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Funziona! Grazie mille!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.