x

Capitoli principali

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Guida rapida
  3. LimeSurvey CE - Installazione
  4. Come progettare un buon sondaggio (Guida)
  5. Iniziare
  6. Configurazione di LimeSurvey
  7. Introduzione - Sondaggi
  8. Visualizza le impostazioni del sondaggio
  9. Visualizza il menu del sondaggio
  10. Visualizza la struttura del sondaggio
  11. Introduzione - Domande
  12. Introduzione - Gruppi di domande
  13. Introduzione - Indagini - Gestione
  14. Opzioni della barra degli strumenti del sondaggio
  15. Sondaggio multilinguale
  16. Guida rapida - ExpressionScript
  17. Funzionalità avanzate
  18. Domande frequenti generali
  19. Risoluzione dei problemi
  20. Soluzioni alternative
  21. Licenza
  22. Registro delle modifiche alla versione
  23. Plugin - Avanzati
 Actions

Using regular expressions/it: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "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>"
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..."
 
(38 intermediate revisions by the same user not shown)
Line 245: Line 245:
<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>


==Month (1-12)==
==Mese (1-12)==


If you want to ask for the month a person was born you can validate the input as follows:
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>


=Minimum width (set to 3 in this example)=
=Larghezza minima (impostata su 3 in questo esempio)=




Line 257: Line 257:




=Currency=
=Valuta=




==US currency (dollar sign and cents optional)==
==Valuta USA (simbolo del dollaro e centesimi facoltativi)==


  <source lang="html">/^\$?\d+(\.(\d{2}))?$/</source>
  <source lang="html">/^\$?\d+(\.(\d{2}))?$/</source>


Check for comma usage:
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>


==Swiss price==
==Prezzo svizzero==


A number with two decimal numbers after the decimal point of which the last one is either a 5 or a 0:
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>




=Validate score=
=Convalida punteggio=




Line 286: Line 286:




=Text validation=
=Convalida testo=




The [[Question type - Multiple short text|multiple short text question type]] doesn't support minimum or maximum answers at the moment. One way around this is to use a [[Question type - Long free text|long free text question type]] with a regular expression.
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.


The below expression tests for at least one word per line for at least 3 lines and no more than 10 lines:
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>


If you want, say five words per line, you could change the first and last star/asterisk to {4,}:
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}/is</source>
<source lang="html">/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.; :?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/è</source>


If you wanted one or more words per line (between line 1 and line 5), you can change the content located within the last curly braces to '''0,4''' (note you use 0 because you're already matching the first line).
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>


==Word count==
==Conteggio parole==


  The following restricts the number of words allowed to a minimum of 1 and a maximum of 200:
  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>


  To increase the minimum change the zero part of {0,199}.
  Per aumentare il minimo modificare la parte zero di {0,199}.


To increase or decrease the maximum change the "199" part of {0,199}.
Per aumentare o diminuire il massimo modificare la parte "199" di {0,199}.


=Time validation=
=Convalida del tempo=




There are a number of ways to write time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Although it is an option to use the [[Question type - Date|date question type]] (it can also capture time) you can use the [[Question type - Short free text|short free text question type]] with one of the below validation regular expressions.
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.


The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:
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>


The following three match 12 hour time, as above with seconds, optional seconds and with seconds required:
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>


The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required:
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>


=US states=
=Stati USA=




To validate for one state use the following (example is Texas):
Per convalidare per uno stato utilizzare quanto segue (l'esempio è il Texas):
*TX uppercase only: <source lang="html">/^(TX)$/</source>
*TX solo lettere maiuscole:<source lang="html"> /^(TX)$/</source>  
*tx lowercase only: <source lang="html">/^(tx)$/</source>
*tx solo minuscolo:<source lang="html"> /^(tx)$/</source>  
*TX upper or lowercase: <source lang="html">/^([T|t][X|x])$/</source>
*TX maiuscolo o minuscolo:<source lang="html"> /^([T|t][X|x])$/</source>




=Profanity Filter=
=Filtro parolacce=




To filter profanity words from an answer:
Per filtrare parole volgari da una risposta:


  <source lang="html">/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/</source>
  <source lang="html">/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/</source>


Replace "ENTERPROFANITYHERE" with your bad word.
Sostituisci "ENTERPROFANITYHERE" con la tua parolaccia.


The \b will allow passing of words such as "assassination" and "hello" if you enter "ass" or "hell" as your profanity word. This also works if you are trying to omit other words, names etc. from answers.
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.




=Helpful links=
=Link utili=




In the beginning of this wiki section, we recommend you to use https://regex101.com/ to test/create regular expressions. You can also use https://www.regextester.com/ to create expressions in case you are unhappy about the first option. You can use https://extendsclass.com/regex-tester.html to visualize regular expressions.
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.

Template:Nota

  Attenzione : 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.

 
/^.+?@.+?\..+$/

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.