Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Espressione regolare

  1. #1

    Espressione regolare

    Ho creato una funzione che verifica alla pressione di un tasto quali caratteri sono ammessi in una casella di input e cancella automaticamente il carattere non ammesso...la funzione è questa....

    codice:
    function controllaCaratteri(elemento){
      var pattern = /^([a-zA-Z0-9]+)|([a-zA-Z0-9\s?])$/ ;
    	var str = elemento.value;
    	if (str.search(pattern) == -1 ){
    	    elemento.value=str.substr(0,str.length-1);
    		  elemento.focus();
    	}
    }
    il mio problema è che l'espressione regolare non fa quello che voglio
    vorrei che la stringa ammetta caratteri alfanumerici ed al max un solo spazio ad esempio....

    34 Belle Palline [valida]
    Bella (con più spazi) pallina [non valida]

    secondo voi, come dovrei scrivere l'espressione regolare?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    ciao angelomorto,

    può andare bene usando 2 regular expression?
    codice:
    function controllaCaratteri(elemento){
      var pattern = /[^\w\s]/ ; //per eliminare i caratteri non permessi
      elemento.value=elemento.value.replace(pattern,'');
      pattern = /\s{2,}/ ; //per trasfomare gli spazzi multipli in uno spazio solo
      elemento.value=elemento.value.replace(pattern,' ');
      elemento.focus();
    }

  3. #3
    va benissimo anche così, funziona! Grazie!

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.