Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: aiutino con una RegExp

  1. #1
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716

    aiutino con una RegExp

    ehrm ammetto di essere veramente incapace con quest regexp, proprio non riesco a impararle...
    me ne servirebbe una che, dato un campo di testo, mi controlli che tutte le parole inserite separate da uno spazio bianco siamo più lunghe di X caratteri....
    mettiamo che X=3
    non mi deve passare true al match con la stringa
    che bel tempo oggi
    invece mi deve fare match con
    il mio gatto è nero

    perchè 'il' ed 'è' sono più corti di 3 lettere/numeri.
    insomma l'equivalente del php:
    Codice PHP:
    $x=3;
    $testo "che bel tempo oggi";
    $array explode(' '$testo);
    foreach(
    $array as $t){
      if(
    strlen($t)<$x){
        die(
    "la stringa $t è troppo corta");
       }

    ..un aiutino?

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    <script>
    var a = "Una frase composta con parole lunghe almeno tre caratteri";
    var b = "Penso che questa frase fallirà il test";
    
    if (/^((\s)?[^\s]{3,}(\s)?)+$/gi.test(a)) {
        alert ("ok");
    }
    else {
        alert ("no");
    }
    
    if (/^((\s)?[^\s]{3,}(\s)?)+$/gi.test(b)) {
        alert ("ok");
    }
    else {
        alert ("no");
    }
    
    </script>
    Ciauz
    Vuoi aiutare la riforestazione responsabile?

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

  3. #3
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    ti sei guadagnato un salame per natale, grazie

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  4. #4
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    azz il tuo codice funziona ma mi dà un errore: se la stringa ha tutte le parole maggiori di 3 caratteri, al primo click funziona, al secondo mi stampa l'alert e così via, una volta funziona l'altra no...

    nella pagina l'ho implementato così
    Codice PHP:
     [...]
            var 
    ricerca document.getElementById('TxtSrc').value;
        if (!(/^((\
    s)?[^\s]{3,}(\s)?)+$/gi.test(ricerca)) && ricerca != "") {
            
    alert ("Le chiavi di ricerca devono essere almeno di 3 caratteri");
            
    document.getElementById('TxtSrc').focus();
            return 
    false;
        }
     [...] 
    perchè?

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    codice:
        var re=/^(\s?[\S]{3,}\s?)*$/g
        if (!(re.test(ricerca))) { 
            alert ("Le chiavi di ricerca devono essere almeno di 3 caratteri"); 
            document.getElementById('TxtSrc').focus(); 
            return false; 
        }

  6. #6
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Codice PHP:
        var re=/^(\s?[\S]{3,}\s?)*$/g;
        if (!(
    re.test(ricerca)) && ricerca != "") { 
            
    alert ("Le chiavi di ricerca devono essere almeno di 3 caratteri");
            
    document.getElementById('TxtSrc').focus();
            
    ricerca null;
            return 
    false;
        } 
    no dà lo stesso problema, quando la stringa è ad esempio 'ciao ciao ciao' una volta si e una no parte l'alert

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    il problema sarà da un'altra parte perché a me funziona sempre
    codice:
    <script language="JavaScript">
    function test(){
    	var ricerca = document.getElementById('TxtSrc').value; 
    	var re=/^(\s?[\S]{3,}\s?)*$/g
        if (!(re.test(ricerca))) { 
            alert ("Le chiavi di ricerca devono essere almeno di 3 caratteri"); 
            document.getElementById('TxtSrc').focus(); 
            return false; 
        } 
    }
    </script>
    <input type="text" id="TxtSrc" value="ciao ciao ciao">
    <input type="button" value="test" onclick="test()">

  8. #8
    if(/\w{3,}/.test(stringa))
    // .... ok, da tre a pù caratteri
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da willybit
    il problema sarà da un'altra parte perché a me funziona sempre
    codice:
    <script language="JavaScript">
    function test(){
    	var ricerca = document.getElementById('TxtSrc').value; 
    	var re=/^(\s?[\S]{3,}\s?)*$/g
        if (!(re.test(ricerca))) { 
            alert ("Le chiavi di ricerca devono essere almeno di 3 caratteri"); 
            document.getElementById('TxtSrc').focus(); 
            return false; 
        } 
    }
    </script>
    <input type="text" id="TxtSrc" value="ciao ciao ciao">
    <input type="button" value="test" onclick="test()">
    mi hai fatto venire un dubbio...
    ho testato lo script su IE7 e funziona alla perfezione, con FF2.0.0.01 funziona una volta si e una no...cioè stessa stringa corretta, una volta continua l'altra mi spara l'alert e così via

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  10. #10
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    Originariamente inviato da andr3a
    if(/\w{3,}/.test(stringa))
    // .... ok, da tre a pù caratteri
    no così mi spara l'alert se una delle stringhe ha + di 3 caratteri, a me serve che mi avverta se una delle stringhe ha meno di tre caratteri....
    cioè deve accettare le stringhe
    'ciao ciao ciao'
    '123 1234 12345'

    e rifiutarmi
    'ciao ci ciao'
    '123 1234 1'

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.