Newsgroup: it.comp.lang.javascript
Titolo: Rilevare gli apici

Ciao a tutti!
Qualcuno ha idea di come si possa rilevare, e rimuovere, gli apici presenti
in una variabile String?
Grazie
Ciao

 in una variabile String?
Dipende cosa intendi per "rilevare". Se intendi sapere se la stringa ha o
meno apici al suo interno, ti basta fare:
if (mystring.indexOf("'")!=-1){
	/* contiene apici */
}
Per rimuoverli puoi semplicemente usare una regexp:
mystring=mystring.replace(/'/g,"");
-- 
ZER0
~ The Tangent Universe collapsed 5986 days, 1 hours, 50 minutes and 44 seconds ago.

 mystring=mystring.replace(/'/g,"");
A parte il fatto che se indexOf() restituisce -1 significa che NON
contiene gli apici, effettivamente mi sono espresso male: intendevo i
doppi apici (")
Grazie
Ciao

 doppi apici (")
Solita solfa, basta invertire:
if (mystring.indexOf('"')!=-1){
	/* contiene doppi apici */
}
-- 
ZER0
~ The Tangent Universe collapsed 5986 days, 4 hours, 51 minutes and 23 seconds ago.
on air ~ "Fear For Hope"

 }
Ok, devo ammettere che ero un po' distratto ;-)
Grazie di tutto, ha funzionato perfettamente !
Ciao

 mystring=mystring.replace(/'/g,"");
e se invece volessi eliminare tutti i caratteri speciali da una stringa?
ho provato con
var subject = escape(var2)
ma quando passo  subject alla funzione sendEmail subject compare con
caratteri come &#034; al posto di "
ciao

 caratteri come &#034; al posto di "
Perché è quello che fa l'escape:
Use the escape and unescape functions to encode and decode (add property
values manually) a Uniform Resource Locator (URL), a Uniform Resource
Identifier (URI), or a URI-type string.
The escape function encodes special characters in the specified string and
returns the new string. It encodes spaces, punctuation, and any other
character that is not an ASCII alphanumeric character, with the exception
of these characters:
* @ - _ + . /
Nelle versioni successive a Javascript 1.3, esistono anche altre due
funzioni:
encodeURI
Encodes a Uniform Resource Identifier (URI) by replacing each instance of
certain characters by one, two, or three escape sequences representing the
UTF-8 encoding of the character.
encodeURIComponent
Encodes a Uniform Resource Identifier (URI) component by replacing each
instance of certain characters by one, two, or three escape sequences
representing the UTF-8 encoding of the character.
Tali funzioni sono disponibili anche in JScript 5.5 (quindi sulle
installazioni di default di IE5.5 o superiore).
-- 
ZER0
~ The Tangent Universe collapsed 5989 days, 2 hours, 30 minutes and 53 seconds ago.


grazie per l'aiuto anche dell'altro post ;-)
Domenico

 per tutti i caratteri speciali potrebbe funzionare 
Si ritorna al punto di prima: *cosa* intendi tu per caratteri speciali?
Un carattere è considerato speciale solo in base ad un dato contesto.
Chiarifica meglio questo punto, e il contesto in cui sei.
-- 
ZER0
~ The Tangent Universe collapsed 5989 days, 7 hours, 51 minutes and 20 seconds ago.

 ZER0
", ',@,%
ecco come ho fatto:
 string.replace(/\&\#039/g,"\'");
perchè l'apice veniva codificato come &#039.
Per il &, invece non c'è stato niente da fare.
Ciao
Dom

 Per il &, invece non c'è stato niente da fare.
Cioè?
-- 
ZER0
~ The Tangent Universe collapsed 5990 days, 5 hours, 34 minutes and 4 seconds ago.
on air ~ "Donots - Saccharine Smiles"

che lo menzioni poco sotto)?
Da quanto ricordo sono appunto disponibili solo con Outlook, Exchange,
e forse con W2003 Server e solo alcune sono usabili come ActiveX
(CDONTS forse lo e').
'bye