Newsgroup: it.comp.lang.javascript
Titolo: Stringhe: controllare se esistono caratteri maiuscolo/minuscolo

Ho delle stringhe con nomi e cognomi in cui ho situazioni del tipo "DI TIZIO 
caio" etc.
Ho bisogno di filtrare solo il cognome e pensavo di controllare "fin dove 
arrivano le maiuscole".
Cioè volevo ricavare una sottostringa del tipo "DI TIZIO".
Sinceramente sto ancora googlegginado alla ricerca di qualche spunto in 
merito ma non mi viene nulla di che...
Mi sono riletto tutte le funzioni sulle stringhe ma i casi sono 2 : "1- ho 
cercato male" "2- non si può fare". 

 Cioè volevo ricavare una sottostringa del tipo "DI TIZIO".
Qualcosa come:
alert("DI TIZIO caio".replace(/[a-z]/g,""));
-- 
albaserver

 Cioè volevo ricavare una sottostringa del tipo "DI TIZIO".
cioé il cognome è tutto in maiuscolo e il nome tutto in minuscolo?
 a) ti cicli la stringa (for i=0;i<tuastringa.length;i++)
 b) per ogni carattere verifichi: se è maiuscolo (o spazio) lo aggiungi
alla stringa che darà il risultato (e per altri caratteri, es. D*'*Alloro?)
Per sapere se è maiuscolo:
 a) ascii da 65 a 90; per conoscere ascii[unicode] di un carattere:
http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/charCodeAt
 b) immagino funzioni semplicemente il confronto con l'upper, del tipo
    if(tuastringa.charAt(i)==tuastringa.charAt(i).toUpperCase()) =>
maiuscolo:
http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/charAt
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 cioé il cognome è tutto in maiuscolo e il nome tutto in minuscolo?
Si.
Vado a studiare quello che mi hai passato.
Grazie.

 alert("DI TIZIO caio".replace(/[a-z]/g,""));
Bella soluzione, non c'avevo pensato. Grazie. 

 Vado a studiare quello che mi hai passato.
l'idea di albaserver mi sembra ottima (occorrerà solo un trim per togliere
eventuale spazio finale, regexp per trim ne trovi a iosa in rete)
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

> l'idea di albaserver mi sembra ottima
sono onorato :)
-- 
albaserver

> l'idea di albaserver mi sembra ottima
Sembrava ottima anche a me e sicuramente lo č... solo che mi sono accorto 
che il formato del nominativo non č:"DI TIZIO caio" (con il primo maiuscolo 
ed il secondo tutto minuscolo) ma "DI TIZIO Caio" (la prima lettera del nome 
č maiuscola).
Quindi sono punto a capo perchč ora ho stringhe tipo (DI TIZIO C) mentre 
dovrei avere solo (DI TIZIO).
Sto leggendo su substring() ma non so se fa al caso mio. 

 dovrei avere solo (DI TIZIO).
usa split() per separare le parole:
http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/split
e scrivila nella tua var-risultato solo se è interamente maiuscola.
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 e scrivila nella tua var-risultato solo se è interamente maiuscola.
Se vuoi restare nelle regexp, usa test con [a-z], se true è il nome:
http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/test
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 
http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp/test
Grazie per la velocità e per i preziosi riferimenti.
Alla fine ho risolto con slice(), lo posto in caso servisse qualcuno.
Cognome = "DI TIZIO Caio"
CognomeLenght = Cognome.length;
Cognome = SoloCognome.slice(0,CognomeLenght-1);

 Cognome = SoloCognome.slice(0,CognomeLenght-1);
Mi sa che avrai problemi con i doppi nomi.
Da ROSSI Mario, ad un improbabile:
BESSI CONTINI MARONE DI PATERNŇ Eduardo Pier Filippo detto Dudů,
questa semplice regexp li matcha tutti:
replace(/(.*)( [A-Z][a-z])\1.*/g,"")
-- 
    * b *       Il tuo post č privo del MIME, attivalo in OE.
  *   y   *       Per impostare correttamente Outlook Express
*   Piero   *       e OE-QuoteFix, puoi consultare Wikipedia:
http://wiki.news.nic.it/GuidaNr_2fOutlookExpress?action=recall&date=1172714805