Actions

Using regular expressions/ro: Difference between revisions

From LimeSurvey Manual

(Created page with "Pentru a crește sau a reduce valoarea maximă, modificați partea „199” din {0,199}.")
(Created page with "La începutul acestei secțiuni wiki, vă recomandăm să utilizați https://regex101.com/ pentru a testa/crea expresii regulate. De asemenea, puteți utiliza https://www.rege...")
 
(15 intermediate revisions by the same user not shown)
Line 313: Line 313:
Pentru a crește sau a reduce valoarea maximă, modificați partea „199” din {0,199}.
Pentru a crește sau a reduce valoarea maximă, modificați partea „199” din {0,199}.


=Time validation=
=Validarea timpului=




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.
Există mai multe moduri de a scrie formate de timp. Unele dintre opțiunile posibile sunt 12 ore sau 24 de ore, cu secunde sau fără. Deși este o opțiune de a utiliza [[Tipul de întrebare - Data|tipul de întrebare pentru dată]] (poate captura și timpul), puteți utiliza [[Tipul de întrebare - Text liber scurt|tipul de întrebare scurtă]] cu unul dintre expresiile regulate de validare de mai jos.


The following three validation strings test for 24 hour time (in order of appearances) without seconds, with optional seconds lastly with seconds required:
Următoarele trei șiruri de validare testează timp de 24 de ore (în ordinea apariției) fără secunde, cu secunde opționale în sfârșit cu secunde necesare:


<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:
Următoarele trei se potrivesc timp de 12 ore, ca mai sus, cu secunde, secunde opționale și cu secunde necesare:


<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:
Următoarele trei potrivesc fie 12 sau 24 de ore ca mai sus cu secunde, secunde opționale și cu secunde necesare:


<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=
=Statele SUA=




To validate for one state use the following (example is Texas):
Pentru a valida pentru un stat, utilizați următoarele (exemplul este Texas):
*TX uppercase only: <source lang="html">/^(TX)$/</source>
*TX numai majuscule:<source lang="html"> /^(TX)$/</source>  
*tx lowercase only: <source lang="html">/^(tx)$/</source>
*tx numai litere mici:<source lang="html"> /^(tx)$/</source>  
*TX upper or lowercase: <source lang="html">/^([T|t][X|x])$/</source>
*TX majuscule sau minuscule:<source lang="html"> /^([T|t][X|x])$/</source>




=Profanity Filter=
=Filtru de profanitate=




To filter profanity words from an answer:
Pentru a filtra cuvintele vulgare dintr-un răspuns:


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


Replace "ENTERPROFANITYHERE" with your bad word.
Înlocuiește „ENTERPROFANITYHERE” cu cuvântul tău rău.


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.
\b va permite transmiterea unor cuvinte precum „asasinare” și „bună ziua” dacă introduceți „fund” sau „iad” ca cuvânt vulgar. Acest lucru funcționează și dacă încercați să omiteți alte cuvinte, nume etc. din răspunsuri.




=Helpful links=
=Link-uri utile=




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.
La începutul acestei secțiuni wiki, vă recomandăm să utilizați https://regex101.com/ pentru a testa/crea expresii regulate. De asemenea, puteți utiliza https://www.regextester.com/ pentru a crea expresii în cazul în care sunteți nemulțumit de prima opțiune. Puteți utiliza https://extendsclass.com/regex-tester.html pentru a vizualiza expresiile regulate.

Latest revision as of 11:13, 10 November 2023

Expresiile regulate trebuie să înceapă și să se termine cu o bară oblică ("/"). Puteți găsi o bibliotecă bună de expresii regulate la http://www.regexlib.net/. Aceste modele vor funcționa aproape întotdeauna dacă sunt înconjurate de bare oblice.

Pentru a vă testa regex, puteți folosi acest tester de regex.

Template:Notă

  Atenție : Rețineți că toate exemplele de mai jos sunt scrise pe un singur rând!



Important: Expresii regulate în condiții

Rețineți că atunci când utilizați expresii regulate în editorul de condiții, NU includeți bara oblică de început și de sfârșit.


Validare e-mail

Actualizare (12/2018): Deoarece în zilele noastre, numele de domenii nu pot conține doar caractere speciale precum „ü”, ci și mai mult de 3 caractere ca nume de domeniu, cum ar fi .tech sau .company, expresia regex de e-mail de mai jos verifică doar dacă „@” și „.” există în adresa de e-mail introdusă.

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

Dacă doriți să validați o adresă pe linie, într-un câmp text lung cu mai multe linii:

 
/^(((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\ n)?\n?)+)*)$/

La această regex învechită, numele domeniului este limitat la 3 caractere, ceea ce nu acoperă toate domeniile disponibile:

 
/^(\w[-._+\w]*\w@\w[-._\w]*\w\.\w{2,3})$/

Codurile poștale

Coduri poștale australiene:

/^[0-9]{4}/

Coduri poștale braziliene

/^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/

Coduri poștale canadiene

/^[a-zA-Z]\d{1}[a-zA-Z](\-| |)\d{1}[a-zA-Z]\d{1}$/

Coduri poștale din SUA

/^[0-9]{5}([- /]?[0-9]{4})?$/

Pentru ca codul poștal să înceapă cu zero, utilizați:

/^[0-9]{5}(?:-[0-9]{4})?$/

Codurile poștale din Marea Britanie

/^[AZ][AZ]?[0-9][A-Z0-9]? ?[0-9][ABDEFGHJLNPQRSTUWXYZ]{2}$/i

Rețineți că acest lucru nu este foarte exact, iar o validare mai exactă este mult mai complexă. De exemplu, consultați StackOverflow answer și Wikipedia pentru mai multe informație.

Coduri poștale franceze

/(^[0-8]\d\d{3}$)|(^9[0-5]\d{3}$)|(^97[1-6]\d{2}$)| (^98[46-8]\d{2}$)/

Expresia de mai sus este foarte precisă și va verifica dacă există sau nu Departamentul francez (primele două cifre), inclusiv departamentele de peste mări și teritoriile de peste mări (DOM-TOM).


Numere de telefon

Numere de telefon din SUA

/^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d {2}[- ]?\d{4}$/

sau

/^[\(\)\.\- ]{0,}[0-9]{3}[\(\)\.\- ]{0,}[0-9]{3}[\(\ )\.\- ]{0,}[0-9]{4}[\(\)\.\- ]{0,}$/

Această a doua opțiune se va potrivi cu toate numerele de telefon din Canada și SUA care includ simboluri fără cifre, inclusiv:

. ( ) - (spațiu)

Acest lucru vă va permite să potriviți numere de telefon care seamănă mai jos:

  • (555)555 5555
  • 555.555.5555
  • 555 555 5555
  • (555)-555-5555
  • 555-555-5555
  • 555555555

Numere de telefon australiene

Următoarele modele se potrivesc cu toate diferitele numere de telefon mobil și fix din Australia, inclusiv cu prefixul de țară „+61”:

  • (02) 9123 6535
  • 03 1234-5345
  • 0412 345 678
  • + 61 2 3456 789

Dar nu:

  • 234 3450 234
  • a234 534 3432
  • 134567
  • 123456789013

Parantezele, spațiile albe și cratimele sunt ignorate.

Versiunile „Foarte precise:” enumerate aici se potrivesc cu primele patru sau cinci cifre dintr-un număr pentru a se asigura că sunt numere australiene valide.

„Nu foarte precis:” se potrivește numai cu prima și a doua cifră, așa că poate permite numere invazi.

Toate numerele de telefon australiene (mobil și fix - este necesar un prefix)

Foarte precis:

/^\(?(?:\+?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})$/

Nu foarte precis:

/^(?:\+?61|0)[2-478](?:[ -]?[0-9]){8}$/

Toate numerele de telefon australiene (numai liniile fixe - este necesar prefixul)

Foarte precis:

/^\(?(?:\+?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}$/

Nu foarte precis:

/^(?:\+?61|\(?0)[2378]\)?(?:[ -]?[0-9]){8}$/

Numere de telefon fix din New South Wales (prefix opțional)

Foarte precis:

/^(?:\(?(?:\+?61|0)2\)?[ -]?)?(?:3[ -]?[38]|[46-9][ -]?[ 0-9]|5[ -]?[0-35-9])(?:[ -]?[0-9]){6}$/

Nu foarte precis:

/^(?:\(?(?:\+?61|0)2\)?(?:[ -]?[0-9]){7}[0-9]$/

Numere de telefon fix din Victoria și Tasmania (prefix opțional)

Foarte precis:

/^(?:\(?(?:\+?61|0)3\)?[ -]?)?(?:4[ -]?[0-57-9]|[57-9][57-9][ -]?[0-9]|6[ -]?[1-67])(?:[ -]?[0-9]){6}$/

Nu foarte precis:

/^(?:\(?(?:\+?61|0)3\)?(?:[ -]?[0-9]){7}[0-9]$/

Numere de telefon fix din Queensland (prefix opțional)

Foarte precis:

/^(?:\(?(?:\+?61|0)7\)?[ -]?)?(?:[2-4][ -]?[0-9]|5[ -] ?[2-7]|7[ -]?6)(?:[ -]?[0-9]){6}$/

Nu foarte precis:

/^(?:\(?(?:\+?61|0)7\)?(?:[ -]?[0-9]){7}[0-9]$/

Numere de telefon fix Australia de Sud, Teritoriul de Nord, Australia de Vest (prefix opțional)

Foarte precis:

/^(?:\(?(?:\+?61|0)8\)?[ -]?)?(?:5[1-4]|6[0-8]|[7-9] [0-9])$/

Nu foarte precis:

/^(?:\(?(?:\+?61|0)8\)?(?:[ -]?[0-9]){7}[0-9]$/

Numai numere de telefon mobil australiene

Foarte precis:

/^(?:\+?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}$/

Nu foarte precis:

/^(?:\(?(?:\+?61|0)4\)?(?:[ -]?[0-9]){7}[0-9]$/

Număr de telefon belgian

 /^((\+|00)32\s?|0)(\d\s?\d{3}|\d{2}\s?\d{2})(\s?\d{2 }){2}$/

Număr de telefon mobil belgian

 /^((\+|00)32\s?|0)4(60|[789]\d)(\s?\d{2}){3}$/

Număr de telefon francez

 /^((\+|00)33\s?|0)[1-59](\s?\d{2}){4}$/

Număr de telefon mobil francez

 /^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/

Număr de telefon din Luxemburg

 /^((\+|00\s?)352)?(\s?\d{2}){3,4}$/

Număr de telefon mobil din Luxemburg

 /^((\+|00\s?)352)?\s?6[269]1(\s?\d{3}){2}$/

Marcă germană (cu plus sau minus opțional)

 /^[1-6]{1}[\+|\-]?$/


Validarea vârstei

Exemplu: Vârsta 20-99

 /([2-9][0-9])/

Exemplu: Vârsta 18-35

 /(1[8-9]|2[0-9]|3[0-5])/

Exemplu: Vârsta 19-65

 /^(1[8-9]|[2-5][0-9]|6[0-5])$/


Validarea numărului

Numerele de la 1 la 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}$/ face la fel ca mai sus, dar ar trebui să ruleze puțin mai repede

Numerele de la 1 la 999, de la 1.000 la 999.999 la 999.999.999

 /^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,2}$/

Acceptă numere de la 1 la 999, de la 1.000 la 999.999 la 999.999.999, dar respinde numere precum 999.1.1, 94.22.22, 999.1.22, 999.11.1, 933.

Validarea numerelor cu zecimală opțională (pentru preț)

Acceptă numere de la 0 la 199, cu 2 zecimale opțional:

 /^([1][0-9][0-9]|[1-9][0-9]|[0-9])((\.)[0-9][0-9]) ?$/

Validarea numărului cu separator de mii

Spațiu ca separator, fără minus

 /^(?!0)\d{1,3}(\ \d{3})*$/

Punctul ca separator, minus permis

 /^-?(?!0)\d{1,3}(\.\d{3})*$/

Forțează două zecimale și acceptă numere de la 1,00 la 999.999.999,00 cu o virgulă opțională care delimitează mii/milioane inclusiv toate următoarele: 1,00, 1,000,00, 12,345,67, 12345,02, 603,45,02, 60,60, 60, 62, 6, 6 123456789.00 dar nu 1 ,23.00, 12,3.4 sau 1234,43.04

 /^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/

Asemănător celor de mai sus: Forțează două puncte zecimale, dar acceptă un „0” înainte de separatorul zecimal ",".

 /[0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/

La fel ca mai sus, dar cele două zecimale sunt opționale:

 /^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2}) ?$/

Luna (1-12)

Dacă doriți să cereți luna în care s-a născut o persoană, puteți valida introducerea după cum urmează:

/^[0]*[1-9]$|^[0]*1[0-2]$/

Lățimea minimă (setată la 3 în acest exemplu)

/^.{3,}$/


Moneda

Moneda SUA (semnul dolarului și cenți opțional)

/^\$?\d+(\.(\d{2}))?$/

Verificați utilizarea virgulelor:

 /^\$?\d{1,3}(\d+(?!,))?(,\d{3})*(\.\d{2})?$/

Prețul elvețian

Un număr cu două numere zecimale după virgulă, iar ultima este fie 5, fie 0:

/^(\d+)(\.\d(05)?)?$/


Validați scorul

1-10

/^[1-9]{1}$|^10$/

1-100

/^[1-9]?[0-9]{1}$|^100$/


Validare text

Tipul de întrebare text scurt multiplu nu acceptă răspunsuri minime sau maxime momentan. O modalitate de a evita acest lucru este să utilizați un Tip de întrebare text liber lung cu o expresie regulată.

Expresia de mai jos testează cel puțin un cuvânt pe rând pentru cel puțin 3 rânduri și nu mai mult de 10 rânduri:

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?! & \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^, .;:?!& \n\r]+)*)){2,10}/is

Dacă doriți, spuneți cinci cuvinte pe rând, puteți schimba prima și ultima stea/asterisc la {4,}:

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})(?:[,.; :?!& \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+){4,})){2,10}/is

Dacă doriți unul sau mai multe cuvinte pe rând (între linia 1 și linia 5), puteți modifica conținutul situat în ultimele acolade la „0,4' (rețineți că utilizați 0 pentru că vă potriviți deja prima linie).

/(?:[^,.;:?!& \n\r]+(?: [^,.;:?!& \n\r]+)*)(?:[,.;:?! & \n\r]?(?:\n|\r|\n\r|\r\n)(?:[^,.;:?!& \n\r]+(?: [^, .;:?!& \n\r]+)*)){0,4}/is

Numărul de cuvinte

Următoarele limitează numărul de cuvinte permis la minimum 1 și maxim 200:
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/
Pentru a crește valoarea minimă, modificați partea zero a lui {0,199}.

Pentru a crește sau a reduce valoarea maximă, modificați partea „199” din {0,199}.

Validarea timpului

Există mai multe moduri de a scrie formate de timp. Unele dintre opțiunile posibile sunt 12 ore sau 24 de ore, cu secunde sau fără. Deși este o opțiune de a utiliza tipul de întrebare pentru dată (poate captura și timpul), puteți utiliza tipul de întrebare scurtă cu unul dintre expresiile regulate de validare de mai jos.

Următoarele trei șiruri de validare testează timp de 24 de ore (în ordinea apariției) fără secunde, cu secunde opționale în sfârșit cu secunde necesare:

/^(?:[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]$/

Următoarele trei se potrivesc timp de 12 ore, ca mai sus, cu secunde, secunde opționale și cu secunde necesare:

/^(?">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))$/

Următoarele trei potrivesc fie 12 sau 24 de ore ca mai sus cu secunde, secunde opționale și cu secunde necesare:

/^(?:(?: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])$/

Statele SUA

Pentru a valida pentru un stat, utilizați următoarele (exemplul este Texas):

  • TX numai majuscule:
     /^(TX)$/
    
  • tx numai litere mici:
     /^(tx)$/
    
  • TX majuscule sau minuscule:
     /^([T|t][X|x])$/
    


Filtru de profanitate

Pentru a filtra cuvintele vulgare dintr-un răspuns:

/^(?i)((?!\bENTERPROFANITYHERE\b).)*$(?-i)/

Înlocuiește „ENTERPROFANITYHERE” cu cuvântul tău rău.

\b va permite transmiterea unor cuvinte precum „asasinare” și „bună ziua” dacă introduceți „fund” sau „iad” ca cuvânt vulgar. Acest lucru funcționează și dacă încercați să omiteți alte cuvinte, nume etc. din răspunsuri.


Link-uri utile

La începutul acestei secțiuni wiki, vă recomandăm să utilizați https://regex101.com/ pentru a testa/crea expresii regulate. De asemenea, puteți utiliza https://www.regextester.com/ pentru a crea expresii în cazul în care sunteți nemulțumit de prima opțiune. Puteți utiliza https://extendsclass.com/regex-tester.html pentru a vizualiza expresiile regulate.