Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di ZeNaIs
    Registrato dal
    Feb 2008
    Messaggi
    38

    javascript e le espressioni regolari

    Salve a tutti...
    Ho da validare un campo il quale accetta solo caratteri alfanumerici..
    ho studiato un po' le espressioni regolari e sto tentando di far funzionare la mia piccola funzione ma non ci riesco e non capisco cosa sbaglio
    questo è il codice:
    codice:
    function controllaNick(oggetto){
       var i=new RegExp("([a-zA-Z0-9]{3,6})");
       if(!i.test(oggetto.value)) { 
       		alert("Il campo non è valido.\nIl nick può contenere solo caratteri alfanumerici e deve essere lungo da un minimo di 3 ad un massimo di 6 caratteri."); 
       		oggetto.value='';
       		return false
       	}  
       return true;
    }
    il problema sta qui:
    codice:
    var i=new RegExp("([a-zA-Z0-9]{3,6})");
    io (da quanto ho capito) accetto tutti i caratteri sia maiuscoli che minuscoli e tutti i numeri di una lunghezza compresa tra 3 e 6.. ho scritto male?
    Ringrazio in anticipo

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    copio e incollo un mio esercizio, senza controllare. Vedi se lo puoi adattare.

    codice:
    function Button2_onclick() 
    {
    	var lbl = document.getElementById("lbl1");
    	
    	var pattern = /^(\d+);(\w+)$/;
    	var source = document.getElementById("tbx_source").value;
        
        //restituisce, allo stesso modo di una matrice, i risultati di una ricerca
        //di una stringa utilizzando un oggetto Regular Expression
        var mc = source.match(pattern); 
        
        //corrispondenze trovate
        var IsMatch = !(mc == null);
    	lbl.innerHTML = "IsMatch = " + IsMatch + "
    "
    	if(!IsMatch) return;
    	
    	for(var i = 1; i < mc.length; i++)
    	{
    		lbl.innerHTML += "gruppo(" + i + ") = '" + mc[i] + "'
    "
    	}
    	
    }
    Pietro

  3. #3
    Utente di HTML.it L'avatar di ZeNaIs
    Registrato dal
    Feb 2008
    Messaggi
    38
    Grazie mille dell'aiuto.. ho risolto in questo modo
    codice:
    function controllaNick(oggetto){
      if (oggetto.value == null || !oggetto.value.toString().match(/^[a-z\d]{3,6}$/)){
      	alert("Il campo non è valido.\nIl nick può contenere solo caratteri alfanumerici e deve essere lungo da un minimo di 3 ad un massimo di 6 caratteri.");
      	oggetto.value='';
      	return false;
      }else{
    	return true;
      }
     }
    Ciau ciau

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.