Regex, ogni carattere non alfanumerico ad eccezione di spazio bianco o due punti

Non riesco a capire come farlo ovunque. Qualsiasi aiuto?

Fondamentalmente sto cercando di abbinare tutti i tipi di caratteri vari come e commerciale, punto e virgola, simboli del dollaro, ecc.

 [^a-zA-Z\d\s:] 
  • \ d – class numerica
  • \ s – spazio bianco
  • a-zA-Z – corrisponde a tutte le lettere
  • ^ – li nega tutti – così ottieni – caratteri non numerici, non spazi e non punti

Questo dovrebbe farlo: [^a-zA-Z\d\s:] Spero che aiuti!

Prova questo

 [^a-zA-Z0-9 :] 

Esempio JS:

 "[email protected]#$%* ABC def:123".replace(/[^a-zA-Z0-9 :]/g, ".") 

Vedi un esempio online:

http://jsfiddle.net/vhMy8/

Se si desidera trattare i caratteri latini accentati (ad esempio à Ñ) come lettere normali (ad esempio evitare di far corrispondere anche loro), è necessario includere anche l’intervallo Unicode appropriato ( \ u00C0- \ u00FF ) nella regex, quindi sarebbe simile a questo:

 /[^a-zA-Z\d\s:\u00C0-\u00FF]/g 
  • ^ nega ciò che segue
  • a-zA-Z corrisponde a lettere maiuscole e minuscole
  • \d corrisponde alle cifre
  • \s corrisponde allo spazio bianco (se vuoi solo abbinare gli spazi, sostituiscilo con uno spazio)
  • : corrisponde a due punti
  • \u00C0-\u00FF corrisponde alla gamma Unicode per i caratteri latini accentati.

nb. La corrispondenza della gamma Unicode potrebbe non funzionare per tutti i motori regex, ma quanto sopra funziona sicuramente in Javascript (come visto in questa penna su Codepen).

NB2. Se non ti preoccupi della corrispondenza dei caratteri di sottolineatura, puoi sostituire a-zA-Z\d con \w , che corrisponde a lettere, cifre e caratteri di sottolineatura.

se intendi “caratteri non alfanumerici”, prova ad usare questo

 var reg =/[^a-zA-Z0-9]/g //[^abc] 

Nessuno spazio alfanumerico, bianco o “_”.

 var reg = /[^\w\s)]|[_]/g; 

Prova ad aggiungerlo

 ^[^a-zA-Z\d\s:]*$ 

Questo ha funzionato per me… 🙂

 "0_0 (: /-\ :) 0-0".replace(/[^a-zA-Z0-9 :]/g,"") 

ha funzionato per me Però,

 replace(/[^a-zA-Z/d :]/g,"") 

non stava funzionando per me.