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

    ricerca di un numero in una stringa

    Salve a tutti..
    devo scrivere una funzione che mi controlli che all'interno di una stringa ci sia almeno un numero o almeno un carattere alfabetico... per adesso sto provando la prima alternativa con questo codice:

    codice:
    function test(stringa){	
    	var isChar=true;
    	for (i=0; (i<stringa.length || isChar==true); i++){
    		if (isNaN(stringa[i])) {
    			isChar=true;
     		}else{
     			isChar=false;
     		}
     	 alert(stringa[i]+' '+isChar); //alert per verificare il valore di isChar per ogni carattere
      	 }
      	 
    	if (isChar==false){
    		alert("E' presente un numero.. la stringa è corretta");
    	}else{
    		alert('Non è presente nessun numero.. la stringa NON è corretta');
    	}
    }
    nell'alert di isChar alla fine della valutazione della stringa mi è uscito fuori un undefined quando c'è un numero come ultimo carattere della stringa.. non capisco da cosa dipenda.. e comunque il codice non esce dal ciclo for appena trova un false.. cosa sbaglio?
    esiste una funzione in particolare (o un'espressione regolare) che serve a determinare se c'è o meno un carattere alfabetico o numerico in una stringa?
    Scusate la mia ignoranza ma non sono pratico di javascript..
    Ringrazio in anticipo...

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ...almeno un numero o almeno un carattere alfabetico...

    codice:
    function test(stringa) {	
       return (/[a-z0-9]/i).test(stringa);
    }
    
    
    if (test('$%&===')) {
    	alert("C'è almeno un numero o almeno una lettera");
    }
    else{
    	alert('Nessun numero e nessuna lettera');
    }
    Vuoi aiutare la riforestazione responsabile?

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

  3. #3
    Per tua tranquillità è meglio se cambi
    il nome della funzione test non è una
    parola riservata ma ..........


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    codice:
    if(/\d[a-z]/i.test("stringa che ti pare"))
        alert("c'e' un numero o stringa");
    questo per dire che non ti serve una funzione, dato che esiste già ed è il metodo di RegExp chiamato test
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it L'avatar di ZeNaIs
    Registrato dal
    Feb 2008
    Messaggi
    38
    Si si hai ragione per il nome delal funzione.. era giusto così per i test appunto non ho badato molto al nome
    a me interessava che ci fosse all'interno della stringa almeno un numero E almeno un carattere alfabetico.. mi sono espresso male prima.. chiedo scusa..
    ho comunque risolto in questo modo (non fate caso ai nomi delle funzioni però ):
    codice:
    function testNum(stringa) {	
       return (/[0-9]/i).test(stringa);
    }
    
    function testStr(stringa) {	
       return (/[a-z]/i).test(stringa);
    }
    
    function test(stringa){
    	if (testNum(stringa)){
    		if (testStr(stringa)){
    			alert('VALIDA');
    		}else{
    			alert('NON VALIDA');
    		}
    	}else{
    		alert('NON VALIDA');
    	}
    }
    Grazie mille per l'aiuto!!! alla prossima

  6. #6
    numero o stringa ...

    /\d|[a-z]/i.test("stringa")

    non serve una funzione ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.