Visualizzazione risultati 1 fino 9 di 9
Like Tree1Likes
  • 1 Post By

Discussione: Incollare una stringa distribuendo tale stringa in più campi di testo

  1. #1
    Guest

    Predefinito Incollare una stringa distribuendo tale stringa in più campi di testo

    Ciao a tutti, in pratica vorrei creare una funzione javascript che, dopo aver copiato una determinata stringa, mi incolli ogni parte che è preceduta da uno spazio (o alla fine dal eof) in un campo testo.
    Esempio:
    Frase : Ciao a tutti
    Facendo Ctrl+V nella prima area text, mi deve scrivere la parola "Ciao" nella prima area text, la parola "a" nella seconda area text e la parola "tutti" nella terza area text.

    E' un pò la stessa situazione di quando si inserisce il seriale di un programma o di un videogame, in cui dopo aver copiato il seriale e premuto crtl+v, il seriale viene espanso in tutte le aree text presenti.

  2. #2
    Guest

    Predefinito

    Codice HTML:
    <input type = "text" id = "sn" onKeyUp = "pasteme()">
    <input type = "text">
    <input type = "text">
    <input type = "text">
    <input type = "text">
    
    <script>
    function pasteme()
    {
    campi = document.querySelectorAll("input"); 
    txt = campi[0].value.split(" ");
    i = 0;
    txt.forEach(function(s) { campi[i++].value = s; });
    }
    </script>
    Ultima modifica di karl94 : 06-08-2014 alle ore 02.22.51 Motivo: Formattazione del codice

  3. #3
    Guest

    Predefinito

    Grazie!!!

  4. #4
    Guest

    Predefinito

    Nel caso in cui volessi avere più separatori, per esempio se voglio separare le parole che hanno tra loro uno spazio o un carattere di invio, bisogna modificare i parametri della funzione split? se sì, in che modo?

  5. #5
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Il metodo split della classe String accetta anche un'espressione regolare come parametro.
    In questo caso, uno spazio qualsiasi o un ritorno a capo (nei vari formati unix/windows) e le tabulazioni sono incluse nella classe \s.
    Quindi:
    Codice:
    txt = campi[0].value.split(/\s+/);

  6. #6
    Guest

    Predefinito

    Grazie :)
    Molto utili le espressioni regolari!! E se per esempio volessi considerare, tramite espressione regolare, solo il carattere di tabulazione e il ritorno a capo?

  7. #7
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    per il TAB /\t/

    per il CR /\r/

  8. #8
    Guest

    Predefinito

    Perdonate la mia ignoranza in materia di espressioni regolari, in soldoni come viene tradotta la funzione split inserendovi contemporaneamente solo il carattere tab e il carattere del ritorno a capo?
    Ultima modifica di nicken : 30-09-2014 alle ore 23.16.24

  9. #9
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    se hai una stringa di testo con allinterno (ad esempio) un CR , l'espressione
    Codice:
    stringa.split(/\r/);
    ritornerà un vettore di stringhe divise ad goni CR

    esempio:
    Codice:
    var testo = "prima parte \r second parte";
    var stringa = testo.split(/\r/);
    darà come risultato:
    Codice:
    stringa[0] --->  prima parte
    stringa[1] --->  seconda parte

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •