Field masks (RegEx)

Field masks, also known as regular expressions (RegEx), are powerful tools used for validating and processing text. They help ensure the accuracy of user input, such as postal codes, email addresses, USREOU codes, phone numbers, and more. Field masks consist of sequences of characters, some of which have special meanings (known as metacharacters) that allow for complex validation conditions.

DocStudioarrow-up-right not only provides a list of pre-made standard masks for validating user input but also allows users to create custom masks tailored to specific business processes.


You can enable mask settings both when adding new fields to a template and when editing existing fields in a created template.

To do this, use the 'Mask' option in the properties of the field you are configuring:

From the drop-down list, you can choose from standard mask options or opt for the ‘Manual’ option to create your own.

What standard masks are available for use?

EDRPOU (Company Registration Code in Ukraine) Checks: 8-digit enterprise code in Ukraine. RegEx: ^\d{8}$ ✅ Examples: 12345678, 87654321 ❌ Invalid: 1234567 (7 digits), 123456789 (9 digits)

Taxpayer Identification Number Checks: 10-digit identification code of an individual. RegEx: ^\d{10}$ ✅ Examples: 1234567890 ❌ Invalid: 123456789 (9 digits), 12345678901 (11 digits)

The EDRPOU or IPN codes Checks: Either EDRPOU (8 digits) or IPN (10 digits). RegEx: ^(\d{8}|\d{10})$ ✅ Examples: 12345678, 1234567890 ❌ Invalid: 1234567, 12345678901

Email Address Checks: Email address in standard format. RegEx: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ ✅ Examples: [email protected], [email protected] ❌ Invalid: [email protected], user@domain, [email protected]

Phone Number (Ukraine) Checks: Ukrainian phone number in international format. RegEx: ^\+380\d{9}$ ✅ Examples: +380987654321 ❌ Invalid: 380987654321, +38098765432 (8 digits)

Postal Code (Ukraine) Checks: Ukrainian postal code (5 digits). RegEx: ^\d{5}$ ✅ Examples: 01001, 79000 ❌ Invalid: 1234 (4 digits), 123456 (6 digits)

Passport Series and Number (Ukraine) Checks: Passport series and number (2 letters + 6 digits). RegEx: ^[А-ЯЄІЇ]{2}\d{6}$ ✅ Examples: АВ123456, КС987654 ❌ Invalid: AB123456, А123456

Bank Account (IBAN) Checks: IBAN (International bank account number). RegEx: ^[A-Z]{2}\d{2}[A-Z\d]{11,30}$ ✅ Examples: UA123456789012345678901234567 ❌ Invalid: UA12ABC, 12345678

Credit Card Number Checks: 16-digit credit card number (no spaces). RegEx: ^\d{16}$ ✅ Examples: 1234567812345678 ❌ Invalid: 1234 5678 1234 5678, 12345678

GTIN (Global Trade Item Number) Checks: GTIN (Global Trade Item Number) — Barcodes of goods. RegEx: ^(\d{8}|\d{12}|\d{13}|\d{14})$ ✅ Examples: 12345678, 123456789012, 1234567890123, 12345678901234 ❌ Invalid: 1234567, 123456789012345

GLN (Global Location Number) Checks: An enterprise identification code. RegEx: ^\d{13}$ ✅ Examples: 1234567890123 ❌ Invalid: 123456789012, 12345678901234

Product Article Checks: 5 to 10 characters (Latin letters, numbers, or hyphens). RegEx: ^[A-Z0-9-]{5,10}$ ✅ Examples: AB123, PROD-001, Z4567 ❌ Invalid: A1, Product12, AB_123

MFO (Interbank Financial Code, Ukraine) Checks: Bank's IFC (6 digits). RegEx: ^\d{6}$ ✅ Examples: 300001, 305299 ❌ Invalid: 30001, 1234567

Summary Table: Mask Name, RegEx, and Description

Mask:

Regular Expression:

Description:

EDRPOU

^\d{8}$

8 digits

IPN

^\d{10}$

10 digits

Phone

^\+380\d{9}$

+380 + 9 digits

Email

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Standart email

Index

^\d{5}$

5 digits

Passport

^[А-ЯЄІЇ]{2}\d{6}$

2 letters + 6 digits

IBAN

^[A-Z]{2}\d{2}[A-Z\d]{11,30}$

International bank account

Card number

^\d{16}$

16 digits

GTIN

^(\d{8}|\d{12}|\d{13}|\d{14})$

8, 12, 13 or 14 digits

GLN

^\d{13}$

13 digits

Product Article

^[A-Z0-9-]{5,10}$

5 to 10 symbols

MFO

^\d{6}$

6 digits


How to Create Custom Masks?

As mentioned, field masks are based on regular expressions, so you'll need to create your own expression.

Before you begin, clearly define the valid and invalid values.

A regular expression consists of special characters (metacharacters) that establish the validation rules.

Here’s a compact reference table to assist you in creating regular expressions. It includes the main symbols, their descriptions, and examples of their usage.

Symbol

Description

Example

^

Start of line

^a → "abc", not "ba"

$

End of line

a$ → "ba", not "ab"

\d

Any number (0-9)

\d → "5", "9"

\D

Not a number

\D → "a", "#"

\w

Any letter, number or _

\w → "a", "1", "_"

\W

Not a letter, not a number, not a _

\W → "@", " "

[A-ZА-Я]

Any capital Latin or Cyrillic letter

[A-ZА-Я] → "A", "Я", "B"

{n}

Repeat exactly 'n' times

a{2} → "aa"

{n,}

'n' or more repetitions

a{2,} → "aa", "aaa"

{n,m}

From 'n 'to 'm' repetitions

a{1,3} → "a", "aaa"

[abc]

Any character from the set

[abc] → "a", "b", "c"

[0-9]

Any number

[0-9] → "5", "9"

[^abc]

Any character other than from the set

[^abc] → "d", "1"

[a-z]

Character range

[a-z] → "b", "k"

|

The logical alternative condition is ‘or’

a|b → "a", or "b"

.

Any character other than a newline

a.c → "abc", "a1c"

*

0 or more repetitions

a* → "", "a", "aaa"

+

1 or more repetitions

a+ → "a", "aaa"

?

0 or 1 repetition

a? → "", "a"

\s

Space character

\s → " ", "\t"

\S

Non-space character

\S → "a", "1"

( )

Grouping

(ab)+ → "ab", "abab"

Creating a Regular Expression Example

Let’s consider the Tax Identification Number (IPN) of a legal entity, which consists of 12 digits (not 10). The regular expression to validate this is: ^\d{12}$

Let's analyse it:

  • ^ — Indicates the beginning of the line

  • \d{12} — Represents exactly 12 digits

  • $ — Indicates the end of the string

Examples: 123456789012 — Valid ❌ Invalid: 1234567890 — Not valid (contains only 10 digits)


Testing Regular Expressions

Before using the created expressions, it's recommended to test them. Special tools can help with this.

For example, regex101.comarrow-up-right is a powerful and user-friendly online tool for creating, testing, and analysing regular expressions

  • Interactive Online Testing: Enter your regular expression in the upper field. Input test strings in the field below. The matching results will be displayed instantly.

  • Every symbol explanation: In the right pane (labelled ‘Explanation’), the site explains each character or element of your regular expression.


For your convenience, here’s a list of ready-made custom masks that may be useful for validating various popular documents:

Document Name

Mask (RegEx)

  • IPN of a legal entity (12 digits)

  • IPN (10 digits) or passport (ID card, 9 digits)

  • IBAN for Ukraine UA + 2 digits + 6 digits + 19 digits

  • Biometric passport (ID card) 9 digits

  • Passport with 2 letters + 6 digits or ID card 9 digits

  • Passport in booklet form 2 letters + 6 digits or IPN 10 digits

  • Passport in booklet form 2 letters + 6 digits or IPN 10 digits or ID card 9 digits

Last updated