ciao, vorrei trovare con una funzioncina il numero di volte che è stata scritta una stringa di testo tipo "ciao" in una textarea.
Come si fa?
![]()
ciao, vorrei trovare con una funzioncina il numero di volte che è stata scritta una stringa di testo tipo "ciao" in una textarea.
Come si fa?
![]()
Ho fatto una funzione un po spartana, ma che funziona, probabilmente c'è un modo piu semplice per farlo... cmq per il momento
<script>
function cercaStringa(){
var testo = document.form1.textfield1.value
var parolaMagica = "ciao" //parola da cercare
var i, totale
for(i=0, totale = 0;i<testo.length;i++){
if(testo.substring(i, i+parolaMagica.length) == parolaMagica){
totale++
}
}
window.alert(totale)
}</script>
In pratica lui prende il value del campo di testo e ricerca, partendo dalla prima lettera fino all'ultima, se nella substringa di 4 lettere che di volta in volta si forma c'è "ciao"...
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
grazie! è quello che cercavo!
funziona benissimo! :metallica
Ora che la riguardo mi sa che non c'è metodo migliore/piu breve :mavieni:
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
Ohi :bubu: :mavieni: :metallicaOriginariamente inviato da mdsjack
grazie! è quello che cercavo!
funziona benissimo!
Live fast. Troll hard.
Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
Team Lead @Gameloft Barcelona
un trucco con le RE
<script>
function cercaStringa(){
var testo = document.form1.textfield1.value
var parolaMagica = "ciao" //parola da cercare
var i, totale
var RE = new RegExp(parolaMagica,"gi")
i = testo.length;
testo = testo.replace(RE, "")
totale = (i-testo.length) / parolaMagica.length
alert(totale)
}
</script>
ciao
Il guaio per i poveri computers e' che sono gli uomini a comandarli.
Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
Consultate la discussione in rilievo: script / discussioni utili
Usate la funzione di Ricerca del Forum
scusa ma sono "anni"() che nn programmo in js... "gi" cosa significa? è come le regexp PCRE? ma cosa fa in questo script?:master:
ciaocodice:<script> function cercaStringa(){ var testo = document.form1.textfield1.value var parolaMagica = "ciao" //parola da cercare var i, totale var RE = new RegExp(parolaMagica,"gi") // in effetti bastava "i" (ignore case) i = testo.length; // lunghezza originale della stringa testo = testo.replace(RE, "") // tolgo tutte le occorrenze di "ciao" totale = (i-testo.length) / parolaMagica.length // la lunghezza della parte di stringa mancante diviso la lunghezza di "ciao" mi da il numero di occorrenze :fagiano: alert(totale) } </script>
Il guaio per i poveri computers e' che sono gli uomini a comandarli.
Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
Consultate la discussione in rilievo: script / discussioni utili
Usate la funzione di Ricerca del Forum
sicuro che nn è + lento?:master:Originariamente inviato da br1
ciao![]()
dalla reference:Originariamente inviato da mdsjack
scusa ma sono "anni"() che nn programmo in js... "gi" cosa significa? è come le regexp PCRE? ma cosa fa in questo script?:master:
new RegExp("pattern"[, "flags"])
Parameters:
pattern
The text of the regular expression.
flags
If specified, flags can have one of the following values:
g: global match
i: ignore case
gi: both global match and ignore case