Перейти к содержимому
ToolMug

Частые шаблоны Regex

Готовые регулярные выражения для повседневной проверки: email, URL, домены, IPv4 и MAC, целые и дробные числа, суммы, даты, время, имена пользователей, надёжные пароли, hex-цвета, UUID и семантические версии, а также китайские телефоны, ID и индексы. Для каждого шаблона есть описание, примеры совпадения и несовпадения и кнопка копирования.

Работает в браузере — введённые данные никуда не загружаются

  • Адрес эл. почты

    Обычный формат почты с точками, плюсами и многоуровневыми доменами

    /^[\w.+-]+@[\w-]+(\.[\w-]+)+$/

    ✓ name@example.com a.b+tag@mail.co.uk✗ name@ @example.com a b@example.com

  • URL (http/https)

    Начинается с http:// или https:// и не содержит пробелов

    /^https?:\/\/[^\s/$.?#][^\s]*$/i

    ✓ https://example.com/path?q=1 http://localhost:8080✗ ftp://example.com example.com https:// bad

  • Имя домена

    Многоуровневый домен из букв, цифр и дефисов

    /^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/

    ✓ example.com sub.example.co.uk✗ -bad.com example exa_mple.com

  • Адрес IPv4

    Четыре числа от 0 до 255 без ведущих нулей

    /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/

    ✓ 192.168.1.1 8.8.8.8 255.255.255.0✗ 256.1.1.1 1.2.3 01.2.3.4

  • MAC-адрес

    Шесть пар шестнадцатеричных цифр, разделённых двоеточиями или дефисами

    /^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/

    ✓ 00:1A:2B:3C:4D:5E 00-1a-2b-3c-4d-5e✗ 001A2B3C4D5E 00:1A:2B:3C:4D

  • Китайский мобильный номер

    11 цифр, начинающихся с 13–19, без +86

    /^1[3-9]\d{9}$/

    ✓ 13800138000 19912345678✗ 12345678901 1380013800 +8613800138000

  • Китайский стационарный номер

    Код города и номер, разделённые дефисом при необходимости

    /^0\d{2,3}-?\d{7,8}$/

    ✓ 010-12345678 0755-1234567 02112345678✗ 12345678 010-123

  • Китайское удостоверение личности (18 цифр)

    Проверяет длину регионального кода и дату рождения; последний символ может быть X. Контрольная сумма не проверяется.

    /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/

    ✓ 11010519491231002X 440308199901010012✗ 11010519491331002X 1101051949123100

  • Китайский индекс

    Шесть цифр

    /^\d{6}$/

    ✓ 100000 010000✗ 10000 1000000

  • Китайский госномер

    7 символов для обычных номеров, 8 для автомобилей на новой энергии

    /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/

    ✓ 京A12345 粤BD12345 沪A1234学✗ 京12345 京AI2345

  • Только китайские иероглифы

    Только распространённые иероглифы CJK

    /^[\u4e00-\u9fa5]+$/

    ✓ 中文 正则表达式✗ 中文abc

  • Номер QQ

    5–11 цифр, не начинается с 0

    /^[1-9]\d{4,10}$/

    ✓ 10001 123456789✗ 01234 1234

  • Номер банковской карты

    16–19 цифр; действительность также требует проверки Луна

    /^[1-9]\d{15,18}$/

    ✓ 6222021234567890123 4111111111111111✗ 0222021234567890 622202123456

  • Целое число

    Может быть отрицательным

    /^-?\d+$/

    ✓ 0 -42 12345✗ 1.5 1e3

  • Положительное целое

    Без ведущего нуля

    /^[1-9]\d*$/

    ✓ 1 100✗ 0 01 -1

  • Десятичное число

    Может быть отрицательным, цифры по обе стороны точки

    /^-?\d+(?:\.\d+)?$/

    ✓ 3.14 -0.5 42✗ .5 1. 1,000

  • Денежная сумма

    Неотрицательная, до двух знаков после запятой

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

    ✓ 0 99.9 1234.56✗ 01.00 1.234 -1

  • Дата (ГГГГ-ММ-ДД)

    Месяц 01–12 и день 01–31; длина месяца не проверяется

    /^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/

    ✓ 2026-09-26 1999-12-31✗ 2026-13-01 2026-9-26 26-09-2026

  • Время (ЧЧ:ММ[:СС])

    24-часовой формат, секунды необязательны

    /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/

    ✓ 09:30 23:59:59✗ 24:00 9:30 12:60

  • Имя пользователя

    Начинается с буквы; 4–16 букв, цифр или подчёркиваний

    /^[a-zA-Z][a-zA-Z0-9_]{3,15}$/

    ✓ alice_01 Bob2026✗ 1alice ab bad-name

  • Надёжный пароль

    Не менее 8 символов, включая прописные и строчные буквы, цифру и символ

    /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$/

    ✓ Passw0rd! Aa1@aaaa✗ password Password1 Aa1@

  • Цвет в hex

    #RGB или #RRGGBB

    /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/

    ✓ #fff #0F766E✗ fff #ffff #12345g

  • UUID

    Стандартный формат UUID (версии 1–8)

    /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

    ✓ 123e4567-e89b-42d3-a456-426614174000✗ 123e4567-e89b-42d3-c456-426614174000 123e4567e89b42d3a456426614174000

  • Семантическая версия

    MAJOR.MINOR.PATCH с необязательными предварительной версией и метаданными сборки

    /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?(?:\+[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?$/

    ✓ 1.0.0 2.1.3-beta.1+build.5✗ 1.0 01.0.0 v1.0.0

  • Пара HTML-тегов

    Находит парные открывающий и закрывающий теги, выделяя имя тега и содержимое

    /<([a-zA-Z][\w-]*)\b[^>]*>([\s\S]*?)<\/\1>/g

    ✓ <b>bold</b> <a href="#">link</a>✗ <b>unclosed plain text

  • Пустая строка

    С флагом m находит пустые строки или строки только из пробелов, например для удаления

    /^\s*$/m

    ✓ ✗ text

Шаблоны используют синтаксис JavaScript и работают в большинстве языков, включая Java, Python и Go; учитывайте экранирование обратной косой черты. Они проверяют только формат: реальность номера удостоверения или карты требует контрольной суммы или официальной проверки.

Как пользоваться

  1. Найдите нужный формат поиском или отфильтруйте шаблоны по категории.
  2. Нажмите «Копировать»; при вставке в строковый литерал экранируйте обратные косые черты.
  3. Введите значение под карточкой, чтобы сразу проверить совпадение.

Описание параметров

Синтаксис
Шаблоны написаны для JavaScript и совместимы с большинством языков, включая Java, Python, Go и PHP; внутри строковых литералов обратные косые черты нужно удваивать.
Проверка всей строки
Шаблоны проверки закреплены якорями ^ и $, поэтому всё значение должно совпасть целиком. Для поиска в длинном тексте уберите якоря и добавьте флаг g.
Формат и действительность
Шаблон проверяет только формат. Реальность ID или номера карты требует контрольной суммы или официальной проверки.

Как строится шаблон: пример с IPv4

Шаблон IPv4 показывает обычную структуру регулярного выражения для проверки. Один октет записан как четыре альтернативы, которые проверяются по порядку, так что каждая принимает только значения 0–255:

25[0-5]      250–255
2[0-4]\d     200–249
1\d\d        100–199
[1-9]?\d     0–99, with no leading zero

Весь шаблон имеет вид (octet\.){3}octet и закреплён с помощью ^ и $. Поэтому 192.168.1.1 подходит, а 256.1.1.1, 01.2.3.4 и 1.2.3 — нет.

Формат не равен корректности

Шаблон проверяет только форму. Шаблон даты принимает 2026-02-30, потому что допускает 30-й день в любом месяце, и отклоняет 2026-13-01, потому что месяца 13 не существует. Для настоящих дат после проверки регулярным выражением разберите значение с помощью библиотеки дат вашего языка.

Часто задаваемые вопросы

Почему regex для email не полностью соответствует RFC?

Полностью совместимое с RFC 5322 выражение было бы огромным и всё равно пропускало бы некоторые реальные ошибки. Используйте мягкую проверку и подтвердите адрес письмом.

Как отлаживать более сложный regex?

Используйте тестер регулярных выражений: он подсвечивает каждое совпадение и группу и умеет проверять замены.

Поддерживают ли эти шаблоны Unicode?

Большинство рассчитано на ASCII. Если нужно принимать буквы любого алфавита, добавьте флаг u и Unicode-свойства вроде \p{L}.

Конфиденциальность

Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.

Похожие инструменты