๐ Benvenuto nella Lezione 4!
Bentornato Text Master! ๐ Hai imparato numeri e variabili. Ora รจ il momento di lavorare con il TESTO!
Quasi ogni applicazione gestisce testo: nomi utenti, email, messaggi, post social, commenti... Le stringhe (testo) sono fondamentali!
In questa lezione imparerai a manipolare le stringhe come un professionista e costruirai un generatore di biglietti personalizzati! ๐ซ
๐ฏ Cosa Imparerai
- โ Concatenare stringhe in 3 modi diversi
- โ
Usare template literals con
${} - โ Metodi delle stringhe (toUpperCase, toLowerCase, trim...)
- โ Cercare testo con indexOf() e includes()
- โ Validare input utente (email, nomi)
- โ Progetto completo: Generatore biglietti eventi
๐ฎ Perchรฉ le Stringhe Sono Importanti?
Le stringhe sono usate in:
- ๐ง Form: Nome, email, password, messaggi
- ๐ฌ Chat: Messaggi tra utenti, emoji
- ๐ Ricerca: Cercare prodotti, filtrare risultati
- ๐ Editor: Formattare testo, contare parole
- ๐ซ Ticketing: Generare biglietti, conferme email
๐ Demo Interattiva: Trasformatore di Testo
Scrivi qualcosa e vedi tutte le trasformazioni possibili! โจ
๐ค Come Funziona?
Il codice usa questi metodi:
text.lengthโ Conta i caratteritext.toUpperCase()โ Converte in MAIUSCOLOtext.toLowerCase()โ Converte in minuscolotext.charAt(0)โ Prende il primo caratteretext.charAt(text.length - 1)โ Prende l'ultimotext.split('').reverse().join('')โ Inverte la stringa
โ Concatenare Stringhe: 3 Modi
Concatenare significa "unire" stringhe. Ci sono 3 modi in JavaScript:
1. Operatore + (Il Vecchio Modo)
const nome = "Mario";
const saluto = "Ciao " + nome + "! Come stai?";
console.log(saluto); // "Ciao Mario! Come stai?"
2. Template Literals (Il Modo Moderno) โญ
const nome = "Mario";
const etร = 25;
// Usa backtick ` e ${variabile}
const messaggio = `Ciao ${nome}! Hai ${etร } anni.`;
console.log(messaggio); // "Ciao Mario! Hai 25 anni."
- Piรน leggibile e facile da scrivere
- Puoi inserire espressioni:
`Il totale รจ ${10 + 5}โฌ` - Supporta stringhe multi-linea
- ร lo standard moderno!
3. concat() (Poco Usato)
const nome = "Mario";
const saluto = "Ciao ".concat(nome, "!");
console.log(saluto); // "Ciao Mario!"
โ๏ธ Prova Tu: Template Literals
Compila i campi e genera una frase con template literal!
๐จ Template Literals in Dettaglio
I template literals usano il carattere backtick ` (tasto sopra il TAB) e permettono di inserire variabili con ${}
Caratteristiche Potenti
1๏ธโฃ Inserire Variabili
const nome = "Anna";
console.log(`Ciao ${nome}!`);
2๏ธโฃ Espressioni JavaScript
const a = 10, b = 5;
console.log(`${a} + ${b} = ${a + b}`);
3๏ธโฃ Stringhe Multi-linea
const msg = `Questa รจ
una stringa
su piรน righe!`;
4๏ธโฃ Chiamare Funzioni
function getAge() { return 25; }
console.log(`Etร : ${getAge()}`);
๐ ๏ธ Metodi delle Stringhe
JavaScript offre tantissimi metodi per manipolare le stringhe. Ecco i piรน importanti:
| Metodo | Cosa Fa | Esempio | Risultato |
|---|---|---|---|
toUpperCase() |
Converte tutto in MAIUSCOLO | "ciao".toUpperCase() |
"CIAO" |
toLowerCase() |
Converte tutto in minuscolo | "CIAO".toLowerCase() |
"ciao" |
trim() |
Rimuove spazi all'inizio e alla fine | " ciao ".trim() |
"ciao" |
slice(start, end) |
Estrae una parte della stringa | "JavaScript".slice(0, 4) |
"Java" |
indexOf(text) |
Trova la posizione di un testo | "ciao".indexOf("a") |
2 |
includes(text) |
Verifica se contiene un testo | "ciao".includes("ia") |
true |
replace(old, new) |
Sostituisce un testo | "ciao".replace("a", "e") |
"cieo" |
split(separator) |
Divide la stringa in array | "a,b,c".split(",") |
["a","b","c"] |
repeat(n) |
Ripete la stringa n volte | "Ha".repeat(3) |
"HaHaHa" |
๐ก Nota Importante
I metodi delle stringhe NON modificano la stringa originale, ma restituiscono una nuova stringa!
let testo = "ciao";
testo.toUpperCase(); // Restituisce "CIAO"
console.log(testo); // Stampa ancora "ciao"
// Per salvare il risultato:
let testoMaiuscolo = testo.toUpperCase();
console.log(testoMaiuscolo); // "CIAO"
โ๏ธ Esercizio Guidato: Validatore Email
Crea una funzione che controlla se un'email รจ valida (deve contenere @ e .)
๐ Cosa Devi Fare
- Seleziona l'input email, il bottone e il div del risultato
- Aggiungi un evento click al bottone
- Prendi il valore dall'input e usa
trim() - Controlla se contiene @ e . usando
includes() - Mostra "โ Email valida" o "โ Email non valida"
๐ Struttura HTML da Usare
Ecco gli elementi HTML con cui lavorerai:
<!-- Input email -->
<input id="emailInput" type="text" placeholder="tua@email.com">
<!-- Bottone verifica -->
<button id="btnCheckEmail">Controlla Email</button>
<!-- Risultato -->
<div id="emailResult"></div>
#emailInputโ Input dove l'utente scrive l'email#btnCheckEmailโ Bottone per verificare#emailResultโ Dove mostrare il risultato
๐ก Ricorda: Usa includes('@') e includes('.') per controllare!
๐๏ธ Anteprima
๐ฎ Progetto Finale: Generatore Biglietti Personalizzati
ร il momento del progetto vero! ๐ซ
Creerai un sistema completo per generare biglietti per eventi con:
- โ Input nome, tipo biglietto, data evento
- โ Validazione campi vuoti
- โ Nome formattato in MAIUSCOLO automatico
- โ Numero biglietto casuale generato
- โ Data formattata in italiano
- โ 3 tipi di biglietto con colori diversi
- โ Contatore caratteri nome (max 30)
๐ฏ Obiettivi del Progetto
- โ Form con 3 campi: nome, tipo, data
- โ Valida che i campi non siano vuoti
- โ Usa template literals per creare il biglietto
- โ toUpperCase() per formattare il nome
- โ Math.random() per numero biglietto
- โ Mostra biglietto stilizzato con colori diversi
๐ Riferimento Elementi HTML
Prima di iniziare, ecco tutti gli ID che userai:
<!-- Form Input -->
<input id="ticketName" type="text" placeholder="Nome Partecipante">
<select id="ticketType">
<option value="standard">Standard</option>
<option value="vip">VIP</option>
<option value="premium">Premium</option>
</select>
<input id="ticketDate" type="date">
<!-- Bottoni -->
<button id="btnGenerate">Genera Biglietto</button>
<button id="btnReset">Reset</button>
<!-- Output -->
<div id="charCounter">0/30</div>
<div id="ticketPreview"></div>
#ticketNameโ Nome#ticketTypeโ Tipo (select)#ticketDateโ Data
#btnGenerateโ Genera#btnResetโ Reset#charCounterโ Counter#ticketPreviewโ Anteprima
๐ซ Il Progetto Live
๐ป Suggerimenti per il Codice
๐พ Esercizi Pratici da Scaricare
Pronto a padroneggiare le stringhe? Ho preparato 3 esercizi progressivi per praticare template literals, metodi stringhe e validazione!
HTML e CSS pronti - tu completi solo il JavaScript! ๐
Scarica Tutti gli Esercizi
3 esercizi: trasformatore, validatore, generatore username
๐ฅ Scarica ZIPPratica template literals, toUpperCase(), trim() e slice()!
๐ค Trasformatore Maiuscole/Minuscole
Trasforma il testo in MAIUSCOLO o minuscolo. Impara toUpperCase(), toLowerCase() e .length.
โ Validatore Nome
Valida che un nome sia corretto: minimo 3 caratteri, senza numeri. Usa trim() e includes().
๐ฎ Generatore Username
Crea username automatici! Usa slice() per estrarre lettere, template literals e Math.random().
๐ฆ Cosa Include
Backtick ` e ${}
toUpperCase, toLowerCase, trim
Estrarre parti di testo
Cercare dentro stringhe
๐ฏ Conclusione: Sei un Text Master!
โ Recap: Cosa Hai Imparato
- โ Concatenare con +, template literals, concat()
- โ
Template literals con
${}per inserire variabili - โ Metodi: toUpperCase, toLowerCase, trim, slice
- โ Cercare con includes() e indexOf()
- โ Validare input utente (email)
- โ Generatore biglietti personalizzati completo!
๐ Challenge: Vai Oltre!
Migliora il generatore aggiungendo:
- ๐ง Email: Aggiungi campo email e validala
- ๐จ Colori: Colori diversi per ogni tipo biglietto
- ๐พ Salva: Array per salvare tutti i biglietti generati
- ๐ฑ QR Code: Genera un codice QR (usa una libreria)
- ๐ PDF: Scarica il biglietto come PDF