Using regular expressions/it: Difference between revisions
From LimeSurvey Manual
Maren.fritz (talk | contribs) Created page with "Utilizzo di espressioni regolari" |
Maren.fritz (talk | contribs) Created page with "All'inizio di questa sezione wiki, ti consigliamo di utilizzare https://regex101.com/ per testare/creare espressioni regolari. Puoi anche utilizzare https://www.regextester.co..." |
||
(113 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
__TOC__ | __TOC__ | ||
Le espressioni regolari devono iniziare e finire con una barra ("/"). Puoi trovare una buona libreria di espressioni regolari su http://www.regexlib.net/. Questi modelli funzioneranno quasi sempre se sono circondati da barre in avanti. | |||
Per testare la tua espressione regolare puoi [https://regex101.com/ utilizzare questo tester per espressioni regolari]. | |||
{{ | {{Nota|Per migliorare questa sezione wiki, ti chiediamo gentilmente di aggiungere le tue espressioni regolari testate con successo per fornire una migliore comprensione di questa funzione ai nuovi (potenziali) utenti di LimeSurvey.}} | ||
{{Alert|title= | {{Alert|title=Attenzione|text= Si prega di notare che tutti gli esempi seguenti sono scritti su una riga!}} | ||
= | =Importante: espressioni regolari in condizioni= | ||
Si noti che quando si utilizzano espressioni regolari nell'editor delle condizioni, NON includere la barra iniziale e finale. | |||
= | =Convalida e-mail= | ||
Aggiornamento (12/2018): poiché in questi giorni i nomi di dominio non possono contenere solo caratteri speciali come "ü", ma utilizzano anche più di 3 caratteri come nome di dominio come .''tech'' o .''company'', la seguente regex email controlla solo se "@" e "." esiste all'interno dell'indirizzo email inserito. | |||
<source lang="html"> | <source lang="html"> | ||
/^.+?@.+?\..+$/ | /^.+?@.+?\..+$/ | ||
</source> | </source> | ||
Se vuoi convalidare un indirizzo per riga, in un campo di testo lungo più righe: | |||
<source lang="html"> | <source lang="html"> | ||
/^(((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\n)?\n?)+)*)$/ | /^(((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\ n)?\n?)+)*)$/ | ||
</source> | </source> | ||
In questa regex obsoleta il nome di dominio è limitato a 3 caratteri che non coprono tutti i domini disponibili: | |||
<source lang="html"> | <source lang="html"> | ||
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/ | /^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/ | ||
</source> | </source> | ||
= | =Codici Postali= | ||
== | ==Codici postali australiani:== | ||
<source lang="html">/^[0-9]{4}/</source> | <source lang="html">/^[0-9]{4}/</source> | ||
== | ==Codici postali brasiliani== | ||
<source lang="html">/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/</source> | <source lang="html">/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/</source> | ||
== | ==Codici postali canadesi== | ||
<source lang="html">/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/</source> | <source lang="html">/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/</source> | ||
== | ==Codici postali USA== | ||
<source lang="html">/^[0-9]{5}([- /]?[0-9]{4})?$/</source> | <source lang="html">/^[0-9]{5}([- /]?[0-9]{4})?$/</source> | ||
Affinché il codice postale inizi con zero, utilizzare: | |||
<source lang="html">/^[0-9]{5}(?:-[0-9]{4})?$/</source> | <source lang="html">/^[0-9]{5}(?:-[0-9]{4})?$/</source> | ||
== | ==Codici postali del Regno Unito== | ||
<source lang="html">/^[ | <source lang="html">/^[AZ][AZ]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i</source> | ||
Si noti che questo non è molto esatto e una convalida più esatta è molto più complessa. Ad esempio, vedi [https://stackoverflow.com/questions/164979/uk-postcode-regex-comprehensive StackOverflow answer] e [https://en.wikipedia.org/wiki/Talk:Postcodes_in_the_United_Kingdom#Regular_Expressions Wikipedia] per ulteriori informazioni informazione. | |||
== | ==Codici postali francesi== | ||
<source lang="html">/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)|(^98[46-8]\d{2}$)/</source> | <source lang="html">/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)| (^98[46-8]\d{2}$)/</source> | ||
L'espressione sopra è molto precisa e verificherà se esiste o meno il dipartimento francese (prime due cifre), compresi i dipartimenti d'oltremare ei territori d'oltremare (DOM-TOM). | |||
= | =Numeri di telefono= | ||
== | ==Numeri di telefono USA== | ||
<source lang="html">/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/</source> | <source lang="html">/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d {2}[- ]?\d{4}$/</source> | ||
O | |||
<source lang="html">/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/</source> | <source lang="html">/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\ )\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/</source> | ||
Questa seconda opzione corrisponderà a tutti i numeri di telefono canadesi e statunitensi che includono simboli non numerici, tra cui: | |||
<source lang="html"> . ( ) - ( | <source lang="html">. ( ) - (spazio)</source> | ||
Ciò ti consentirà di abbinare i numeri di telefono che assomigliano ai seguenti: | |||
*(555)555 5555 | *(555)555 5555 | ||
*555.555.5555 | *555.555.5555 | ||
*555 555 5555 | *555 555 5555 | ||
*(555)-555-5555 | *(555)-555-5555 | ||
*555-555-5555 | * 555-555-5555 | ||
*555555555 | *555555555 | ||
== | ==Numeri di telefono australiani== | ||
I seguenti modelli corrispondono a tutti i vari numeri di telefono fissi e mobili australiani, incluso il prefisso nazionale "+61": | |||
*(02) 9123 6535 | *(02) 9123 6535 | ||
*03 1234-5345 | *03 1234-5345 | ||
*0412 345 678 | *0412 345 678 | ||
*+ | *+ 612 3456 789 | ||
Ma non: | |||
* 234 3450 234 | * 234 3450 234 | ||
*a234 534 3432 | *a234 534 3432 | ||
Line 107: | Line 107: | ||
*123456789013 | *123456789013 | ||
Parentesi, spazi bianchi e trattini vengono ignorati. | |||
Le versioni "Molto preciso:" qui elencate corrispondono alle prime quattro o cinque cifre di un numero per garantire che si tratti di numeri australiani validi. | |||
Il "Non molto preciso:" corrisponde solo alla prima e alla seconda cifra, quindi potrebbe consentire numeri non validi. | |||
=== | ===Tutti i numeri di telefono australiani (cellulare e rete fissa - prefisso richiesto)=== | ||
Molto preciso: | |||
<source lang="html">/^\(?(?:\+?61|0)(?:(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}|4\)?[ -]?(?:(?:[01][ -]?[0-9]|2[ -]?[0-57-9]|3[ -]?[1-9]|4[ -]?[7-9]|5[ -]?[018])[ -]?[0-9]|3[ -]?0[ -]?[0-5])(?:[ -]?[0-9]){5})$/ | <source lang="html">/^\(?(?:\+?61|0)(?:(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]? [0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[ 0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2 -7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9] [ -]?[0-9]))(?:[ -]?[0-9]){6}|4\)?[ -]?(?:(?:[01][ -]?[ 0-9]|2[ -]?[0-57-9]|3[ -]?[1-9]|4[ -]?[7-9]|5[ -]?[018])[ -]?[0-9]|3[ -]?0[ -]?[0-5])(?:[ -]?[0-9]){5})$/ | ||
</source> | </source> | ||
Non molto preciso: | |||
<source lang="html">/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/</source> | <source lang="html">/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/</source> | ||
=== | ===Tutti i numeri di telefono australiani (solo telefoni fissi - prefisso richiesto)=== | ||
Molto preciso: | |||
<source lang="html">/^\(?(?:\+?61|0)(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -]?[0-9]))(?:[ -]?[0-9]){6}$/</source> | <source lang="html">/^\(?(?:\+?61|0)(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0- 9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9 ]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7] |7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -] ?[0-9]))(?:[ -]?[0-9]){6}$/</source> | ||
Non molto preciso: | |||
<source lang="html">/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/</source> | <source lang="html">/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/</source> | ||
=== | ===Numeri di telefono fisso del Nuovo Galles del Sud (prefisso facoltativo)=== | ||
Molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[ 0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/</source> | ||
Non molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | ||
=== | ===Numeri di telefono fissi del Victoria e della Tasmania (prefisso facoltativo)=== | ||
Molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/</source> | ||
Non molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | ||
===Queensland | ===Numeri di telefono fisso del Queensland (prefisso facoltativo)=== | ||
Molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -]?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -] ?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/</source> | ||
Non molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | ||
===South Australia, Northern Territory, Western Australia | ===Numeri di telefono fisso del South Australia, Northern Territory, Western Australia (prefisso facoltativo)=== | ||
Molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9][0-9])$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9] [0-9])$/</source> | ||
Non molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | ||
=== | ===Solo numeri di cellulare australiani=== | ||
Molto preciso: | |||
<source lang="html">/^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ?[7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$/</source> | <source lang="html">/^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ? [7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$/</source> | ||
Non molto preciso: | |||
<source lang="html">/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | <source lang="html">/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/</source> | ||
== | ==Numero di telefono belga== | ||
<source lang="html"> /^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2 }){2}$/</source> | |||
== | ==Numero di cellulare belga== | ||
<source lang="html"> /^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/</source> | |||
== | ==Numero di telefono francese== | ||
<source lang="html"> /^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/</source> | |||
== | ==Numero di cellulare francese== | ||
<source lang="html"> /^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/</source> | |||
== | ==Numero di telefono Lussemburgo== | ||
<source lang="html"> /^((\+|00\s?)352)?(\s?\d{2}){3,4}$/</source> | |||
== | ==Numero di cellulare Lussemburgo== | ||
<source lang="html"> /^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/</source> | |||
= | =Marchi tedeschi (con segno più o meno facoltativo)= | ||
<source lang="html"> /^[1-6]{1}[\+|\-]?$/</source> | |||
= | =Convalida dell'età= | ||
Esempio: Età 20-99 | |||
<source lang="html"> /([2-9][0-9])/</source> | |||
Esempio: Età 18-35 | |||
<source lang="html"> /(1[8-9]|2[0-9]|3[0-5])/</source> | |||
Esempio: Età 19-65 | |||
<source lang="html"> /^(1[8-9]|[2-5][0-9]|6[0-5])$/</source> | |||
= | =Convalida numero= | ||
== | ==Numeri da 1 a 99999== | ||
<source lang="html"> /^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9 ][0-9]|[1-9][0-9][0-9][0-9][0-9])$/</source> | |||
<source lang="html"> /^[1-9][0-9]{0,4}$/ fa come sopra ma dovrebbe funzionare un po' più velocemente</source> | |||
== | ==Numeri da 1 a 999, da 1.000 a 999.999 a 999.999.999== | ||
<source lang="html"> /^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/</source> | |||
Accetta numeri da 1 a 999, da 1.000 a 999.999 a 999.999.999 ma | |||
rifiuta numeri come 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333 | |||
== | ==Convalida numero con decimale facoltativo (per prezzo)== | ||
Accetta numeri da 0 a 199, con 2 decimale facoltativo: | |||
<source lang="html"> /^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9]) ?$/</source> | |||
== | ==Convalida del numero con separatore delle migliaia== | ||
Spazio come separatore, nessun segno meno | |||
<source lang="html"> /^(?!0)\d{1,3}(\ \d{3})*$/</source> | |||
Punto come separatore, meno consentito | |||
<source lang="html"> /^-?(?!0)\d{1,3}(\.\d{3})*$/</source> | |||
Forza due punti decimali e accetta numeri da 1,00 a 999.999.999,00 con una virgola facoltativa che delimita migliaia/milioni | |||
compresi tutti i seguenti: 1.00, 1.000,00, 12.345,67, 12345,02, 123.456.468,00, 1234566.00, 12345 6789.00 | |||
ma non 1 ,23.00, 12,3.4 o 1234,43.04 | |||
<source lang="html"> /^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/</source> | |||
Simile a quanto sopra: forza due punti decimali ma accetta uno "0" prima del separatore decimale ",". | |||
<source lang="html"> /[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/</source> | |||
Come sopra, ma i due punti decimali sono opzionali: | |||
<source lang="html">/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ </source> | <source lang="html"> /^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2}) ?$/</source> | ||
== | ==Mese (1-12)== | ||
Se vuoi chiedere il mese di nascita di una persona puoi convalidare l'input come segue: | |||
<source lang="html">/^[0]*[1-9]$|^[0]*1[0-2]$/</source> | <source lang="html">/^[0]*[1-9]$|^[0]*1[0-2]$/</source> | ||
= | =Larghezza minima (impostata su 3 in questo esempio)= | ||
Line 257: | Line 257: | ||
= | =Valuta= | ||
== | ==Valuta USA (simbolo del dollaro e centesimi facoltativi)== | ||
<source lang="html">/^\$?\d+(\.(\d{2}))?$/</source> | <source lang="html">/^\$?\d+(\.(\d{2}))?$/</source> | ||
Controlla l'utilizzo della virgola: | |||
<source lang="html">/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/</source> | <source lang="html"> /^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/</source> | ||
== | ==Prezzo svizzero== | ||
Un numero con due numeri decimali dopo la virgola di cui l'ultimo è un 5 o uno 0: | |||
<source lang="html">/^(\d+)(\.\d(05)?)?$/</source> | <source lang="html">/^(\d+)(\.\d(05)?)?$/</source> | ||
= | =Convalida punteggio= | ||
Line 286: | Line 286: | ||
= | =Convalida testo= | ||
Il [[Tipo di domanda - Testo breve multiplo|tipo di domanda con testo breve multiplo]] al momento non supporta risposte minime o massime. Un modo per aggirare questo problema è utilizzare un [[Tipo di domanda - Testo libero lungo|tipo di domanda a testo libero lungo]] con un'espressione regolare. | |||
L'espressione seguente verifica almeno una parola per riga per almeno 3 righe e non più di 10 righe: | |||
<source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){2,10}/is</source> | <source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?! & \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^, .;:?!& \n\r]+)*)){2,10}/is</source> | ||
Se vuoi, pronuncia cinque parole per riga, puoi cambiare la prima e l'ultima stella/asterisco in {4,}: | |||
<source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/ | <source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.; :?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/è</source> | ||
Se vuoi una o più parole per riga (tra la riga 1 e la riga 5), puoi cambiare il contenuto che si trova all'interno delle ultime parentesi graffe in '''0,4''' (nota che usi 0 perché stai già abbinando la prima riga). | |||
<source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)){0,4}/is</source> | <source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?! & \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^, .;:?!& \n\r]+)*)){0,4}/is</source> | ||
== | ==Conteggio parole== | ||
Quanto segue limita il numero di parole consentito a un minimo di 1 e un massimo di 200: | |||
<source lang="html">/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/</source> | <source lang="html">/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/</source> | ||
Per aumentare il minimo modificare la parte zero di {0,199}. | |||
Per aumentare o diminuire il massimo modificare la parte "199" di {0,199}. | |||
= | =Convalida del tempo= | ||
Esistono diversi modi per scrivere i formati dell'ora. Alcune delle possibili opzioni sono 12 ore o 24 ore, con o senza secondi. Sebbene sia possibile utilizzare il [[Tipo di domanda - Data|tipo di domanda data]] (può anche catturare il tempo), puoi utilizzare il [[Tipo di domanda - Breve testo libero|tipo di domanda breve a testo libero]] con uno dei le seguenti espressioni regolari di convalida. | |||
Le seguenti tre stringhe di convalida testano per 24 ore (in ordine di apparizione) senza secondi, con secondi facoltativi e infine con secondi obbligatori: | |||
<source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/</source> | <source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/</source> | ||
Line 326: | Line 326: | ||
<source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/</source> | <source lang="html">/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/</source> | ||
I seguenti tre corrispondono a 12 ore, come sopra con secondi, secondi opzionali e con secondi richiesti: | |||
<source lang="html">/^(?">00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/</source> | <source lang="html">/^(?">00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0- 9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/</source> | ||
<source lang="html">/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/</source> | <source lang="html">/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9] |1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[ 0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/</source> | ||
<source lang="html">/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/</source> | <source lang="html">/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01] ):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]: [0-5][0-9] (?:pm|PM))$/</source> | ||
I seguenti tre corrispondono a 12 o 24 ore come sopra con secondi, secondi opzionali e con secondi richiesti: | |||
<source lang="html">/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/</source> | <source lang="html">/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][ 0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9] |2[0-3]):[0-5][0-9])$/</source> | ||
<source lang="html">/^(?:(?:00:[0-5][0-9](?[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?[0-5][0-9])?)$/</source> | <source lang="html">/^(?:(?:00:[0-5][0-9](?[0-5][0-9])? (?:am|AM)|(?:0[1-9 ]|1[01]):[0-5][0-9](?[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0 -5][0-9](?[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]) :[0-5][0-9](?[0-5][0-9])?)$/</source> | ||
<source lang="html">/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/</source> | <source lang="html">/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1 [01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0- 9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0- 9]:[0-5][0-9])$/</source> | ||
= | =Stati USA= | ||
Per convalidare per uno stato utilizzare quanto segue (l'esempio è il Texas): | |||
*TX | *TX solo lettere maiuscole:<source lang="html"> /^(TX)$/</source> | ||
*tx | *tx solo minuscolo:<source lang="html"> /^(tx)$/</source> | ||
*TX | *TX maiuscolo o minuscolo:<source lang="html"> /^([T|t][X|x])$/</source> | ||
= | =Filtro parolacce= | ||
Per filtrare parole volgari da una risposta: | |||
<source lang="html">/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/</source> | <source lang="html">/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/</source> | ||
Sostituisci "ENTERPROFANITYHERE" con la tua parolaccia. | |||
Il \b consentirà il passaggio di parole come "assassinio" e "ciao" se inserisci "culo" o "inferno" come parola volgare. Funziona anche se stai cercando di omettere altre parole, nomi ecc. dalle risposte. | |||
= | =Link utili= | ||
All'inizio di questa sezione wiki, ti consigliamo di utilizzare https://regex101.com/ per testare/creare espressioni regolari. Puoi anche utilizzare https://www.regextester.com/ per creare espressioni nel caso in cui non sei soddisfatto della prima opzione. Puoi utilizzare https://extendsclass.com/regex-tester.html per visualizzare le espressioni regolari. |
Latest revision as of 08:55, 28 July 2023
Le espressioni regolari devono iniziare e finire con una barra ("/"). Puoi trovare una buona libreria di espressioni regolari su http://www.regexlib.net/. Questi modelli funzioneranno quasi sempre se sono circondati da barre in avanti.
Per testare la tua espressione regolare puoi utilizzare questo tester per espressioni regolari.
Importante: espressioni regolari in condizioni
Si noti che quando si utilizzano espressioni regolari nell'editor delle condizioni, NON includere la barra iniziale e finale.
Convalida e-mail
Aggiornamento (12/2018): poiché in questi giorni i nomi di dominio non possono contenere solo caratteri speciali come "ü", ma utilizzano anche più di 3 caratteri come nome di dominio come .tech o .company, la seguente regex email controlla solo se "@" e "." esiste all'interno dell'indirizzo email inserito.
/^.+?@.+?\..+$/
Se vuoi convalidare un indirizzo per riga, in un campo di testo lungo più righe:
/^(((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\ n)?\n?)+)*)$/
In questa regex obsoleta il nome di dominio è limitato a 3 caratteri che non coprono tutti i domini disponibili:
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/
Codici Postali
Codici postali australiani:
/^[0-9]{4}/
Codici postali brasiliani
/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/
Codici postali canadesi
/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/
Codici postali USA
/^[0-9]{5}([- /]?[0-9]{4})?$/
Affinché il codice postale inizi con zero, utilizzare:
/^[0-9]{5}(?:-[0-9]{4})?$/
Codici postali del Regno Unito
/^[AZ][AZ]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i
Si noti che questo non è molto esatto e una convalida più esatta è molto più complessa. Ad esempio, vedi StackOverflow answer e Wikipedia per ulteriori informazioni informazione.
Codici postali francesi
/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)| (^98[46-8]\d{2}$)/
L'espressione sopra è molto precisa e verificherà se esiste o meno il dipartimento francese (prime due cifre), compresi i dipartimenti d'oltremare ei territori d'oltremare (DOM-TOM).
Numeri di telefono
Numeri di telefono USA
/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d {2}[- ]?\d{4}$/
O
/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\ )\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/
Questa seconda opzione corrisponderà a tutti i numeri di telefono canadesi e statunitensi che includono simboli non numerici, tra cui:
. ( ) - (spazio)
Ciò ti consentirà di abbinare i numeri di telefono che assomigliano ai seguenti:
- (555)555 5555
- 555.555.5555
- 555 555 5555
- (555)-555-5555
- 555-555-5555
- 555555555
Numeri di telefono australiani
I seguenti modelli corrispondono a tutti i vari numeri di telefono fissi e mobili australiani, incluso il prefisso nazionale "+61":
- (02) 9123 6535
- 03 1234-5345
- 0412 345 678
- + 612 3456 789
Ma non:
- 234 3450 234
- a234 534 3432
- 134567
- 123456789013
Parentesi, spazi bianchi e trattini vengono ignorati.
Le versioni "Molto preciso:" qui elencate corrispondono alle prime quattro o cinque cifre di un numero per garantire che si tratti di numeri australiani validi.
Il "Non molto preciso:" corrisponde solo alla prima e alla seconda cifra, quindi potrebbe consentire numeri non validi.
Tutti i numeri di telefono australiani (cellulare e rete fissa - prefisso richiesto)
Molto preciso:
/^\(?(?:\+?61|0)(?:(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]? [0-9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[ 0-9]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2 -7]|7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9] [ -]?[0-9]))(?:[ -]?[0-9]){6}|4\)?[ -]?(?:(?:[01][ -]?[ 0-9]|2[ -]?[0-57-9]|3[ -]?[1-9]|4[ -]?[7-9]|5[ -]?[018])[ -]?[0-9]|3[ -]?0[ -]?[0-5])(?:[ -]?[0-9]){5})$/
Non molto preciso:
/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/
Tutti i numeri di telefono australiani (solo telefoni fissi - prefisso richiesto)
Molto preciso:
/^\(?(?:\+?61|0)(?:2\)?[ -]?(?:3[ -]?[38]|[46-9][ -]?[0- 9]|5[ -]?[0-35-9])|3\)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9 ]|6[ -]?[1-67])|7\)?[ -]?(?:[2-4][ -]?[0-9]|5[ -]?[2-7] |7[ -]?6)|8\)?[ -]?(?:5[ -]?[1-4]|6[ -]?[0-8]|[7-9][ -] ?[0-9]))(?:[ -]?[0-9]){6}$/
Non molto preciso:
/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/
Numeri di telefono fisso del Nuovo Galles del Sud (prefisso facoltativo)
Molto preciso:
/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[ 0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/
Non molto preciso:
/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/
Numeri di telefono fissi del Victoria e della Tasmania (prefisso facoltativo)
Molto preciso:
/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/
Non molto preciso:
/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/
Numeri di telefono fisso del Queensland (prefisso facoltativo)
Molto preciso:
/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -] ?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/
Non molto preciso:
/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/
Numeri di telefono fisso del South Australia, Northern Territory, Western Australia (prefisso facoltativo)
Molto preciso:
/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9] [0-9])$/
Non molto preciso:
/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/
Solo numeri di cellulare australiani
Molto preciso:
/^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ? [7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$/
Non molto preciso:
/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/
Numero di telefono belga
/^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2 }){2}$/
Numero di cellulare belga
/^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/
Numero di telefono francese
/^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/
Numero di cellulare francese
/^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/
Numero di telefono Lussemburgo
/^((\+|00\s?)352)?(\s?\d{2}){3,4}$/
Numero di cellulare Lussemburgo
/^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/
Marchi tedeschi (con segno più o meno facoltativo)
/^[1-6]{1}[\+|\-]?$/
Convalida dell'età
Esempio: Età 20-99
/([2-9][0-9])/
Esempio: Età 18-35
/(1[8-9]|2[0-9]|3[0-5])/
Esempio: Età 19-65
/^(1[8-9]|[2-5][0-9]|6[0-5])$/
Convalida numero
Numeri da 1 a 99999
/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9 ][0-9]|[1-9][0-9][0-9][0-9][0-9])$/
/^[1-9][0-9]{0,4}$/ fa come sopra ma dovrebbe funzionare un po' più velocemente
Numeri da 1 a 999, da 1.000 a 999.999 a 999.999.999
/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/
Accetta numeri da 1 a 999, da 1.000 a 999.999 a 999.999.999 ma rifiuta numeri come 999.1.1 , 94.22.22, 999.1.22, 999.11.1, 999.1.333
Convalida numero con decimale facoltativo (per prezzo)
Accetta numeri da 0 a 199, con 2 decimale facoltativo:
/^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9]) ?$/
Convalida del numero con separatore delle migliaia
Spazio come separatore, nessun segno meno
/^(?!0)\d{1,3}(\ \d{3})*$/
Punto come separatore, meno consentito
/^-?(?!0)\d{1,3}(\.\d{3})*$/
Forza due punti decimali e accetta numeri da 1,00 a 999.999.999,00 con una virgola facoltativa che delimita migliaia/milioni compresi tutti i seguenti: 1.00, 1.000,00, 12.345,67, 12345,02, 123.456.468,00, 1234566.00, 12345 6789.00 ma non 1 ,23.00, 12,3.4 o 1234,43.04
/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/
Simile a quanto sopra: forza due punti decimali ma accetta uno "0" prima del separatore decimale ",".
/[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/
Come sopra, ma i due punti decimali sono opzionali:
/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2}) ?$/
Mese (1-12)
Se vuoi chiedere il mese di nascita di una persona puoi convalidare l'input come segue:
/^[0]*[1-9]$|^[0]*1[0-2]$/
Larghezza minima (impostata su 3 in questo esempio)
/^.{3,}$/
Valuta
Valuta USA (simbolo del dollaro e centesimi facoltativi)
/^\$?\d+(\.(\d{2}))?$/
Controlla l'utilizzo della virgola:
/^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/
Prezzo svizzero
Un numero con due numeri decimali dopo la virgola di cui l'ultimo è un 5 o uno 0:
/^(\d+)(\.\d(05)?)?$/
Convalida punteggio
1-10
/^[1-9]{1}$|^10$/
1-100
/^[1-9]?[0-9]{1}$|^100$/
Convalida testo
Il tipo di domanda con testo breve multiplo al momento non supporta risposte minime o massime. Un modo per aggirare questo problema è utilizzare un tipo di domanda a testo libero lungo con un'espressione regolare.
L'espressione seguente verifica almeno una parola per riga per almeno 3 righe e non più di 10 righe:
/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?! & \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^, .;:?!& \n\r]+)*)){2,10}/is
Se vuoi, pronuncia cinque parole per riga, puoi cambiare la prima e l'ultima stella/asterisco in {4,}:
/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.; :?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/è
Se vuoi una o più parole per riga (tra la riga 1 e la riga 5), puoi cambiare il contenuto che si trova all'interno delle ultime parentesi graffe in 0,4 (nota che usi 0 perché stai già abbinando la prima riga).
/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?! & \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^, .;:?!& \n\r]+)*)){0,4}/is
Conteggio parole
Quanto segue limita il numero di parole consentito a un minimo di 1 e un massimo di 200:
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/
Per aumentare il minimo modificare la parte zero di {0,199}.
Per aumentare o diminuire il massimo modificare la parte "199" di {0,199}.
Convalida del tempo
Esistono diversi modi per scrivere i formati dell'ora. Alcune delle possibili opzioni sono 12 ore o 24 ore, con o senza secondi. Sebbene sia possibile utilizzare il tipo di domanda data (può anche catturare il tempo), puoi utilizzare il tipo di domanda breve a testo libero con uno dei le seguenti espressioni regolari di convalida.
Le seguenti tre stringhe di convalida testano per 24 ore (in ordine di apparizione) senza secondi, con secondi facoltativi e infine con secondi obbligatori:
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/
I seguenti tre corrispondono a 12 ore, come sopra con secondi, secondi opzionali e con secondi richiesti:
/^(?">00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0- 9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9] |1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[ 0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01] ):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]: [0-5][0-9] (?:pm|PM))$/
I seguenti tre corrispondono a 12 o 24 ore come sopra con secondi, secondi opzionali e con secondi richiesti:
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][ 0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9] |2[0-3]):[0-5][0-9])$/
/^(?:(?:00:[0-5][0-9](?[0-5][0-9])? (?:am|AM)|(?:0[1-9 ]|1[01]):[0-5][0-9](?[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0 -5][0-9](?[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]) :[0-5][0-9](?[0-5][0-9])?)$/
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1 [01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0- 9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0- 9]:[0-5][0-9])$/
Stati USA
Per convalidare per uno stato utilizzare quanto segue (l'esempio è il Texas):
- TX solo lettere maiuscole:
/^(TX)$/
- tx solo minuscolo:
/^(tx)$/
- TX maiuscolo o minuscolo:
/^([T|t][X|x])$/
Filtro parolacce
Per filtrare parole volgari da una risposta:
/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/
Sostituisci "ENTERPROFANITYHERE" con la tua parolaccia.
Il \b consentirà il passaggio di parole come "assassinio" e "ciao" se inserisci "culo" o "inferno" come parola volgare. Funziona anche se stai cercando di omettere altre parole, nomi ecc. dalle risposte.
Link utili
All'inizio di questa sezione wiki, ti consigliamo di utilizzare https://regex101.com/ per testare/creare espressioni regolari. Puoi anche utilizzare https://www.regextester.com/ per creare espressioni nel caso in cui non sei soddisfatto della prima opzione. Puoi utilizzare https://extendsclass.com/regex-tester.html per visualizzare le espressioni regolari.