Newsgroup: it.comp.lang.javascript
Titolo: Sulle stringhe...

Ciao ragazzi,
ho bisogno di una spiegazione circa la sintassi seguente:
 ---->   !(/^[a-z0-9]+([a-z0-9]+)*$/g).test(camp1.value)
...dove camp1.value è il valore prelevato da una text. Questa riga,
restituisce true o false a secondo se nella stringa (camp1.value) è presente
o meno un certo carattere.
Nel caso specifico controlla se camp1.value contiene solo lettere
alfabetiche, numeri e simboli (punto e trattino).
Fin qui nessun problema, il problema, è che non ho capito come viene creata,
o meglio come viene creata la sequenza:
-----> /^[a-z0-9]+([a-z0-9]+)*$/g
mi serve capire meglio in modo che cosi posso:
a) specificare solo specifici caratteri da controllare;
b) un range di caratteri
etc.
In particolare per i caratteri speciali, tipo lo spazio come ci si comporta?
(cioè se non si vuole che sia presente nella stringa oppure se presente etc.
Ringrazio anticipatamente, coloro che mi risponderanno e quindi mi
metteranno in condizione di poter capire meglio questa sintassi.
Cordialmente, Cooper.
-- 
------------------------------------
BlueWare di Impastato Marcello
 [web] 
http://www.blueware.it
 [msn] 
coo...@blueware.it
 [icq] 146781935
 [Irc] 
http://www.italchat.it

> -----> /^[a-z0-9]+([a-z0-9]+)*$/g
si chiamano Regular Expressions...
sono presenti nei migliori linguaggi di programmazione,
e hanno doti veramente notevoli in termine di perfomance
(solitamente agiscono a livello macchina) e di potenzialità...
con una o pochissime righe di codice permettono di controllare-estrarre,
quindi elaborare stringhe (anche intese come intere pagine) con estrema
efficacia.
Purtroppo, malgrado il nome, di "regolare" nell'interpretarle c'è ben poco...:-)
almeno per noi umani che appaiono come geroglifici...
Credo che poche persone possano affermare di conoscere perfettamente l'argomento...
cmq, ovviamente, trovi parecchie risorse in rete...
Se vuoi approfondire veramente l'argomento ti consiglio vivamente il testo:
Mastering Regular Expressions di Jeffrey - O'Reilly
ISBN: 0596002890
adesso c'è la seconda edizione ed è un vero must...
anche se è prettamente orientato al Perl, in realtà a parte la dichiarazione la sintassi
è praticamente la stessa...
personalmente è stato prezioso per l'utilizzo in JavaScript e VBScript e C#
qui trovi una seria mailing list in proposito:
http://groups.yahoo.com/group/dotnetregex/
sapere usare le Reg Exp ti può semplificare la vita in molti casi...:
tool quali Dreamweaver ti permettono ad esempio di usarle nel Find e Replace
e puoi con estrema efficacia effettuare modifiche in un attimo anche su siti molto complessi...
p.s.: non cercare di approfondire troppo il discorso, senza aver prenotato una stanza
al manicomio...:-)))
            \ | /
        ( @ @ )         Chicco Flash
---oOO-(_)-OOo--------------------------
 
www.z2000.it
Flash Forum: 
www.z2000.it/forum

 al manicomio...:-)))
massuvvia.. non farla cosi' grigia :) C'e' ben di peggio.. e' solo 
questione di abitudine :) E poi dipende anche che tipo di usi devi 
farne.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)


Uhm, c'č un altro modo fare ciň? meno makkinoso? :D Cioč, una funzione, che
verifica se una stringa contiene un set di caratteri valido (caratteri presi
singolarmente o a gruppi dati in input) e restituisca per esempio true se la
stringa contiene caratteri validi e false in caso contrario?


 stringa contiene caratteri validi e false in caso contrario?
No, per questo genere di cose le regexp sono l'unica scelta valida.



Provo a capire dagli esempi, intanto, se definisco:
Lettere = a..z,  A..Z
Numeri = 0..9;
Simboli = . punto, virgola, trattino, /,
Altri = spazio.
Puoi per cortesia, dirmi in che modo dovrei impostare una regular expression
affinche possa combinare fra di loro le possibili combinazioni?
Diciamo una sintassi generale? in modo cosi che se volessi escludere un
gruppo, potrei farlo eliminandolo... o includerne uno, aggiungendo alla
regular expression.
Ti ringrazio in anticipo per la pasienza.


 farne.
io infatti le ho studiate giusto fino a dove mi serviva...
più che altro le utilizzo in VBScript, in abbinamento all'oggetto XMLHTTP
per estrarre da qualsiasi pagina web dinamica solo il frammento di testo che mi interessa...
in pratica, visto che in ActionScript non esistono e non si potrebbe caricare variabili
da siti fuori dal dominio, faccio fare tutto alla pagina Asp che poi chiamo da Flash...
cmq ho visto intere pagine di "geroglifici" sul Reference O'Reilly...
voglio dire che anche come semantica, si differenzia molto da qualsiasi linguaggio
"tradizionale" di programmazione...
tu le conosci a fondo?
come le debuggi in JavaScript?


 Diciamo una sintassi generale?
Per la sintassi,visto che stiamo cmq parlando di JS:
http://devedge.netscape.com/library/manuals/2000/javascript/1.3/referen
ce/regexp.html


 come le debuggi in JavaScript?
Se sai come scriverle, non hai bisogno di debuggarle :)
(stesso motivo per cui difficilmente ho bisogno di debuggare JS)
