20 āļĢāļđāļāđāļāļ Regex āļāļąāđāļ§āđāļāļāļĩāđāļāļąāļāļāļąāļāļāļēāļāļļāļāļāļāļāļ§āļĢāļĢāļđāđ
20 āļĢāļđāļāđāļāļ Regex āļāļąāđāļ§āđāļāļāļĩāđāļāļąāļāļāļąāļāļāļēāļāļļāļāļāļāļāļ§āļĢāļĢāļđāđ
Regex āđāļāđāļāļąāļāļŦāļēāļāļĢāļīāļ: āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļīāļāļāļļāļ āļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨ āđāļĨāļ°āļāļēāļĢāđāļāļĨāļāļŠāļāļĢāļīāļ āļāļđāđāļĄāļ·āļāļāļĩāđāļāļģāđāļŠāļāļ 20 āļāļīāļāļāļāđāļāļĢāļāļāļīāļāļĢāđāļāļĄāđāļāđāļāļĩāđāļāļĢāļāļāļāļĨāļļāļĄāļāļēāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāđāļāļāļ§āļēāļĄāļāļĩāđāļāļāļāđāļāļĒāļāļĩāđāļŠāļļāļ āđāļāđāļĨāļ°āļĢāļđāļāđāļāļāļĄāļĩāļāļģāļāļāļīāļāļēāļĒāļ§āđāļēāļĄāļąāļāļāļąāļāļāļđāđāļāļąāļāļāļ°āđāļĢ
1. āļāļĩāđāļāļĒāļđāđāļāļĩāđāļĄāļĨ
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
āļŠāđāļ§āļ local āļāļāļļāļāļēāļāđāļŦāđāđāļāđāļāļąāļ§āļāļąāļāļĐāļĢ āļāļąāļ§āđāļĨāļ āļāļļāļ āđāļĨāļ°āļāļąāļāļāļĢāļ°āļāļīāđāļĻāļĐ āđāļāđāļĄāļāļāļāļļāļāļēāļāđāļŦāđāđāļāđāļāļąāļ§āļāļąāļāļĐāļĢ āļāļąāļ§āđāļĨāļ āđāļĨāļ°āļāļļāļ TLD āļāđāļāļāļĄāļĩāļāļĒāđāļēāļāļāđāļāļĒāļŠāļāļāļāļąāļ§āļāļąāļāļĐāļĢ
2. URL
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z]{2,}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
āļāļąāļāļāļđāđ URL HTTP/HTTPS āļāļĢāđāļāļĄ www āļāļĩāđāđāļāđāļāļāļąāļ§āđāļĨāļ·āļāļ āļāļ·āđāļāđāļāđāļĄāļ TLD path āđāļĨāļ° query string
3. āļŦāļĄāļēāļĒāđāļĨāļāđāļāļĢāļĻāļąāļāļāđāļŠāļŦāļĢāļąāļāļŊ
^\(?(\d{3})\)?[-.\s]?(\d{3})[-.\s]?(\d{4})$
āļāļąāļāļāļđāđ (555) 123-4567, 555-123-4567, 555.123.4567 āđāļĨāļ° 5551234567
4. āđāļāļĢāļĻāļąāļāļāđāļĢāļ°āļŦāļ§āđāļēāļāļāļĢāļ°āđāļāļĻ
^\+?(\d{1,3})\s?[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}$
āļĢāļđāļāđāļāļāļāļĩāđāļĒāļ·āļāļŦāļĒāļļāđāļāļŠāļģāļŦāļĢāļąāļāļŦāļĄāļēāļĒāđāļĨāļāļĢāļ°āļŦāļ§āđāļēāļāļāļĢāļ°āđāļāļĻāļāļĢāđāļāļĄāļĢāļŦāļąāļŠāļāļĢāļ°āđāļāļĻ
5. āļĢāļŦāļąāļŠāļāđāļēāļāļāļĩāđāđāļāđāļāđāļāļĢāđāļ
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
āļāđāļāļāļāļēāļĢ 8+ āļāļąāļ§āļāļąāļāļĐāļĢ, āļāļąāļ§āļāļīāļĄāļāđāđāļĨāđāļāļŦāļāļķāđāļāļāļąāļ§, āļāļąāļ§āļāļīāļĄāļāđāđāļŦāļāđāļŦāļāļķāđāļāļāļąāļ§, āļāļąāļ§āđāļĨāļāļŦāļāļķāđāļāļāļąāļ§, āļāļąāļāļāļĢāļ°āļāļīāđāļĻāļĐāļŦāļāļķāđāļāļāļąāļ§ āđāļāđ lookahead assertion
6. āļ§āļąāļāļāļĩāđ (YYYY-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
āļĢāļđāļāđāļāļ ISO 8601 āđāļāļ·āļāļ 01-12, āļ§āļąāļ 01-31 āđāļĄāđāļāļĢāļ§āļāļŠāļāļāļāļĩāļāļāļģāļāļąāļāļāđāļāđāļāļ·āļāļ (30 āļ.āļ. āļāđāļēāļ)
7. āļ§āļąāļāļāļĩāđ (MM/DD/YYYY)
^(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])\/\d{4}$
āļĢāļđāļāđāļāļāļŠāļŦāļĢāļąāļāļŊ āļāļĢāđāļāļĄāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļąāļ
8. āđāļ§āļĨāļē (HH:MM 24 āļāļąāđāļ§āđāļĄāļ)
^([01]\d|2[0-3]):[0-5]\d$
āļāļąāđāļ§āđāļĄāļ 00-23, āļāļēāļāļĩ 00-59
9. āļāļĩāđāļāļĒāļđāđ IPv4
^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$
āļŠāļĩāđ octet āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļĒāđāļēāļāđāļāđāļĄāļāļ§āļ (0-255) āđāļāļāļāļĩāđ \d{1,3} āļāđāļ§āļĒ (25[0-5]|2[0-4]\d|[01]?\d\d?)
10. āļāļĩāđāļāļĒāļđāđ IPv6
^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$
IPv6 āđāļāđāļĄāļĢāļđāļāđāļāļāļāļĢāđāļāļĄ 8 āļāļĨāļļāđāļĄāļāļāļāđāļĨāļāļāļēāļāļŠāļīāļāļŦāļ āđāļĄāđāļĢāļāļāļĢāļąāļāļāļąāļ§āļĒāđāļ ::
11. āļāļĩāđāļāļĒāļđāđ MAC
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
āļāļąāđāļāļāđāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļ§āļīāļ āļēāļāļŦāļĢāļ·āļāļĒāļąāļāļīāļ āļąāļāļāđ
12. āļĢāļŦāļąāļŠāļŠāļĩ Hex
^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
3 āļŦāļĨāļąāļ (#fff) āļŦāļĢāļ·āļ 6 āļŦāļĨāļąāļ (#ffffff), āđāļĄāđāļāļģāļāļķāļāļāļķāļāļāļąāļ§āļāļīāļĄāļāđ
13. āļŦāļĄāļēāļĒāđāļĨāļāļāļąāļāļĢāđāļāļĢāļāļīāļ
^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$
16 āļŦāļĨāļąāļāļāļĢāđāļāļĄāļāļąāļ§āļāļąāđāļāļāļĩāđāđāļāđāļāļāļąāļ§āđāļĨāļ·āļāļ āđāļĄāđāļāļĢāļ§āļāļŠāļāļ Luhn checksum
14. āļĢāļŦāļąāļŠāđāļāļĢāļĐāļāļĩāļĒāđāļŠāļŦāļĢāļąāļāļŊ
^\d{5}(-\d{4})?$
12345 āļŦāļĢāļ·āļ 12345-6789
15. āļāļ·āđāļāļāļđāđāđāļāđ
^[a-zA-Z0-9_]{3,16}$
3-16 āļāļąāļ§āļāļąāļāļĐāļĢ, āļāļąāļ§āļāļąāļāļĐāļĢ, āļāļąāļ§āđāļĨāļ, underscore āđāļāđāļēāļāļąāđāļ
16. URL Slug
^[a-z0-9-]+$
āļāļąāļ§āļāļąāļāļĐāļĢāļāļīāļĄāļāđāđāļĨāđāļ, āļāļąāļ§āđāļĨāļ āđāļĨāļ°āļĒāļąāļāļīāļ āļąāļāļāđ āļāļāļāđāļāļĒāđāļāļĢāļ°āļāļ CMS
17. āđāļāđāļ HTML
<\/?[\w\s]*>|<.+[\w\s]*>
āļāļąāļāļāļđāđāđāļāđāļāđāļāļīāļāđāļĨāļ°āļāļīāļ āđāļĄāđāđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļ HTML āļāļĩāđāļāđāļāļāļāļąāļ
18. āļāļēāļĄāļŠāļāļļāļĨāđāļāļĨāđ
\.([a-zA-Z]{2,})$
āļāļķāļāļāļēāļĄāļŠāļāļļāļĨāđāļāļĒāđāļĄāđāļĄāļĩāļāļļāļ
19. āļāļēāļĢāļāļģāđāļŦāđāļāđāļāļāļ§āđāļēāļāđāļāđāļāļĄāļēāļāļĢāļāļēāļ
\s+
āļĒāļļāļāļāđāļāļāļ§āđāļēāļ, tab āļŦāļĢāļ·āļāļāļķāđāļāļāļĢāļĢāļāļąāļāđāļŦāļĄāđāļŦāļĨāļēāļĒāļāļąāļ§āđāļāđāļāļŦāļāļķāđāļāđāļāļĩāļĒāļ§
20. āļāļķāļāļāļąāļ§āđāļĨāļ
-?\d+(\.\d+)?
āļāļģāļāļ§āļāđāļāđāļĄāđāļĨāļ°āļāļĻāļāļīāļĒāļĄ āļĢāļ§āļĄāļāđāļēāļĨāļ
āđāļāļĨāđāļāļĨāļąāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
- āđāļāļāļēāļ°āđāļāļēāļ°āļāļ â āļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļ
.*āļāļķāđāļāļāļēāļāļāļģāđāļŦāđāđāļāļīāļ catastrophic backtracking - āļĒāļķāļāļāđāļ§āļĒ
^āđāļĨāļ°$āđāļāļ·āđāļāļāļģāļāļąāļāļāļāļāđāļāļāļāļēāļĢāļāđāļāļŦāļē - āļāļāļŠāļāļāļāļĢāļāļĩāļāļāļ: āļŠāļāļĢāļīāļāļ§āđāļēāļ, āļŠāļāļĢāļīāļāļĒāļēāļ§, āļāļąāļāļāļĢāļ°āļāļīāđāļĻāļĐ
āļāļāļŠāļāļāļĢāļđāļāđāļāļāđāļŦāļĨāđāļēāļāļĩāđāļāļēāļāļāļāļāđāļĨāļāđ
āđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļ regex tester āđāļāļ·āđāļāļāļāļĨāļāļāļāļąāļāļĢāļđāļāđāļāļāđāļŦāļĨāđāļēāļāļĩāđ āļ§āļēāļāļāļīāļāļāļāđāđāļāđ āļāđāļāļāļāđāļāļāļ§āļēāļĄāļāļąāļ§āļāļĒāđāļēāļ āđāļĨāļ°āļāļđāļāļēāļĢāļāļąāļāļāļđāđāļāļĩāđāļāļđāļāđāļāđāļāđāļāļāđāļĢāļĩāļĒāļĨāđāļāļĄāđ āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļāļŠāļāļāđāļŠāļāļāļāļĨāļļāđāļĄāļāļąāļāļ āļēāļāđāļĨāļ°āļāđāļ§āļĒāļāļĩāļāļąāļāļĢāļđāļāđāļāļāļāđāļāļāđāļāđāļāļēāļ