Blocco indirizzo email con espressione regolare non funzionante

Ciao a tutti,

il blocco dei post tramite espressioni regolari non funziona più. Lo Strumento di Test RegEx rileva quell’indirizzo email, ma gli utenti riescono comunque a pubblicare indirizzi email:

RegEx: (^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)

Si tratta di un bug?

Grazie mille per il vostro aiuto!

Penso che ci sia un problema con quell’espressione regolare. Sembra che fallisca a meno che l’indirizzo email non sia pubblicato su una riga separata nel compositore. Puoi confermarlo aggiungendo del testo diverso da un indirizzo email quando testi la regex su Discourse. Anche solo aggiungere uno spazio prima dell’indirizzo email ne causerà il fallimento.

Ecco un’espressione regolare che dovrebbe funzionare per gli indirizzi email:

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b

Per riferimento, ho trovato quella regex qui: How to Find or Validate an Email Address.

Grazie! Funziona. Ora un altro problema: è possibile utilizzare quella RegEx solo per i post pubblici? Attualmente non è nemmeno possibile inviare indirizzi email tramite messaggi privati. Questo è un comportamento indesiderato.

No, non è possibile applicare le parole monitorate solo ai post pubblici. Con quella regex in atto, dovrai chiedere agli utenti di inserire gli indirizzi email in modo che non vengano rilevati dalla regex. Forse aggiungere uno spazio prima del carattere @ potrebbe funzionare.