Tấn Phát Digital

Regex Generator - Tạo Regex Online

Tạo và test Regular Expression

Patterns phổ biến
Pattern

Regex Generator - Tạo Regular Expression online miễn phí

Regex Generator của Tấn Phát Digital giúp tạo và thử nghiệm Regular Expression cho các nhu cầu phổ biến như email, URL, số điện thoại Việt Nam, ngày tháng, mã màu, UUID, slug, số nguyên, số thập phân và trích xuất text. Công cụ phù hợp cho developer, QA, data analyst, content editor và người đang học regex qua ví dụ. Các pattern được cung cấp như gợi ý thực hành; với hệ thống production hoặc dữ liệu nhạy cảm, bạn nên test thêm bằng bộ dữ liệu thật của dự án.

Tính năng nổi bật

  • 12+ patterns phổ biến
  • Test regex realtime
  • Copy pattern
  • Ví dụ cho mỗi pattern

Regex là gì?

Regular Expression là cú pháp mô tả mẫu ký tự để tìm kiếm, kiểm tra hoặc trích xuất dữ liệu trong văn bản. Regex thường dùng trong form validation, xử lý log, đổi định dạng nội dung và tự động hóa thao tác text.

Lợi ích khi sử dụng

  • Tạo pattern nhanh hơn khi xử lý text
  • Validate form input ở mức tham khảo
  • Tìm kiếm và trích xuất dữ liệu
  • Học regex qua ví dụ cụ thể
  • Copy pattern để dùng trong code hoặc editor

Cách sử dụng

  1. 1Chọn pattern hoặc tự viết
  2. 2Nhập test string
  3. 3Click Test

Regex Patterns Cho Validate Dữ Liệu Việt Nam

Công cụ cung cấp nhiều regex patterns tham khảo cho dữ liệu Việt Nam: số điện thoại di động bắt đầu bằng 0 hoặc +84, CMND 9 số, CCCD 12 số, mã bưu điện, ngày tháng định dạng DD/MM/YYYY và một số pattern nhập liệu thường gặp. Khi dùng cho form validation, bạn nên kiểm tra thêm theo nghiệp vụ thực tế vì quy tắc dữ liệu có thể thay đổi theo từng hệ thống.

Hướng Dẫn Sử Dụng Regex Trong JavaScript, Python Và PHP

Mỗi ngôn ngữ lập trình có cách sử dụng regex hơi khác nhau: JavaScript - new RegExp(pattern, flags) hoặc /pattern/flags, methods: test(), match(), replace(), exec(). Python - import re, methods: re.match(), re.search(), re.findall(), re.sub(), flags: re.IGNORECASE, re.MULTILINE. PHP - preg_match(), preg_match_all(), preg_replace(), pattern cần delimiter: '/pattern/flags'. Java - Pattern.compile(pattern), Matcher class, methods: find(), group(), matches(). Khi copy pattern từ công cụ này: JavaScript dùng trực tiếp, Python cần raw string r'pattern', PHP cần thêm delimiter '/pattern/'. Lưu ý escape characters có thể khác nhau giữa các ngôn ngữ - luôn test pattern trong ngôn ngữ target.

Character Class [ ] khác Alternation ( | ) như thế nào

Đây là một trong những lỗi phổ biến nhất khi viết regex thủ công: bên trong dấu ngoặc vuông [ ], ký tự | không mang nghĩa OR mà bị hiểu như một ký tự literal cần match. Ví dụ pattern [3|5|7|8|9] không có nghĩa là 'khớp với 3, 5, 7, 8 hoặc 9' như nhiều người nhầm tưởng, mà thực chất là một character class gồm các ký tự 3, 5, 7, 8, 9 và cả ký tự | — nghĩa là nó vô tình chấp nhận luôn ký tự | như một giá trị hợp lệ, dù ý định ban đầu chỉ muốn giới hạn 5 chữ số. Cách viết đúng để chỉ chấp nhận một trong các chữ số 3, 5, 7, 8, 9 là character class thuần túy [35789], không có dấu | ở giữa. Ngược lại, toán tử alternation | chỉ có tác dụng OR thực sự khi đứng ngoài character class, ví dụ (3|5|7|8|9) trong một nhóm capturing/non-capturing group, hoặc giữa các cụm pattern lớn hơn như (cat|dog) để khớp 'cat' hoặc 'dog'. Công cụ này đã sửa pattern số điện thoại Việt Nam từ [3|5|7|8|9] (chứa lỗi trên) thành [35789] để phản ánh đúng 5 đầu số di động phổ biến (03, 05, 07, 08, 09) mà không vô tình chấp nhận ký tự | trong số điện thoại.

Các lỗi thường gặp khi tự viết Regex thủ công

Ngoài nhầm lẫn giữa character class và alternation, một số lỗi phổ biến khác: quên escape ký tự đặc biệt như dấu chấm (.) trong domain email hoặc URL, khiến pattern khớp nhầm bất kỳ ký tự nào thay vì chỉ dấu chấm thật. Dùng {n} khi ý định là {n,} hoặc {n,m}, dẫn đến giới hạn độ dài sai (ví dụ mật khẩu tối thiểu 8 ký tự cần {8,} chứ không phải {8}). Quên anchor ^ và $ khiến regex khớp một phần chuỗi con thay vì toàn bộ chuỗi cần validate. Dùng .* quá rộng rãi (greedy) trong khi cần .*? (lazy) để tránh match vượt quá phạm vi mong muốn khi có nhiều dấu phân cách giống nhau trong chuỗi. Trước khi đưa bất kỳ pattern nào vào production, nên test với nhiều test case bao gồm cả input hợp lệ, không hợp lệ và các edge case đặc biệt.

Giải thích các pattern có sẵn trong công cụ

12 pattern có sẵn phủ các nhu cầu phổ biến nhất: Email và URL dùng để validate form nhập liệu web. Số điện thoại VN, CMND/CCCD, mã bưu điện, biển số xe phục vụ các form nhập liệu đặc thù Việt Nam. IPv4 dùng khi xử lý log server hoặc validate địa chỉ mạng. Hex Color hữu ích cho công cụ thiết kế hoặc CSS. Date (DD/MM/YYYY) và Username, Password mạnh, Số nguyên là các pattern validate form thường gặp trong đăng ký tài khoản. Mỗi pattern đi kèm một ví dụ cụ thể để bạn hiểu ngay pattern đó chấp nhận định dạng nào trước khi áp dụng vào dữ liệu thật của mình.

Câu hỏi thường gặp (FAQ)

Có hỗ trợ dữ liệu Việt Nam không?

Có. Công cụ có các gợi ý pattern cho số điện thoại, CMND/CCCD và một số định dạng thường gặp tại Việt Nam.

Regex tạo ra có dùng ngay cho production không?

Nên xem là mẫu tham khảo. Bạn cần test thêm với dữ liệu thật, edge case và yêu cầu bảo mật của dự án trước khi dùng trong production.

Regex có phân biệt chữ hoa chữ thường không?

Tùy flags. Nếu dùng flag i, regex sẽ không phân biệt hoa thường. Nếu không có flag này, nhiều engine sẽ phân biệt hoa thường.

Có dùng được cho JavaScript, Python và PHP không?

Có thể dùng, nhưng mỗi ngôn ngữ có cách escape và khai báo regex khác nhau. Hãy kiểm tra lại cú pháp khi copy sang môi trường thật.

Vì sao [3|5|7|8|9] không đúng để chọn một trong các chữ số 3, 5, 7, 8, 9?

Vì bên trong dấu ngoặc vuông [ ], ký tự | không có nghĩa OR mà bị hiểu là một ký tự literal. [3|5|7|8|9] thực chất là character class chứa các ký tự 3, 5, 7, 8, 9 và cả ký tự |, nên nó vô tình chấp nhận luôn dấu | như một giá trị hợp lệ. Cách viết đúng là [35789], không có dấu | ở giữa.

Khi nào nên dùng character class [ ] và khi nào dùng alternation ( | )?

Dùng character class [abc] khi muốn khớp một ký tự đơn trong tập hợp các ký tự. Dùng alternation (abc|def) khi muốn khớp một trong nhiều chuỗi/cụm ký tự có độ dài khác nhau, ví dụ (cat|dog) để khớp toàn bộ từ 'cat' hoặc 'dog' chứ không phải từng ký tự riêng lẻ.

Pattern số điện thoại VN trong công cụ này có bắt được tất cả đầu số không?

Pattern ^(0|+84)[35789][0-9]{8}$ khớp các số bắt đầu bằng 0 hoặc +84, theo sau là một trong 5 chữ số đầu (3, 5, 7, 8, 9) và 8 chữ số tiếp theo, phù hợp với các đầu số di động phổ biến. Đầu số cụ thể có thể thay đổi theo thời gian nên vẫn nên đối chiếu với danh sách đầu số mới nhất khi validate thực tế.

Copy pattern rồi paste vào code có chạy được ngay không?

Thường chạy được với JavaScript vì cú pháp regex literal /pattern/flags tương thích trực tiếp. Với Python cần bọc trong raw string r'pattern', với PHP cần thêm ký tự delimiter ở đầu và cuối như '/pattern/'. Nên test lại sau khi copy sang môi trường khác.

Làm sao biết test string có khớp toàn bộ hay chỉ khớp một phần?

Nếu pattern có anchor ^ ở đầu và $ ở cuối, regex chỉ khớp khi toàn bộ chuỗi thỏa mãn điều kiện. Nếu thiếu anchor, regex có thể khớp một đoạn con bất kỳ trong chuỗi dài hơn, dẫn đến kết quả 'match' dù chuỗi gốc thực ra không hợp lệ hoàn toàn.

Có thể kết hợp nhiều pattern có sẵn thành một pattern mới không?

Có thể, nhưng cần cẩn thận với các anchor ^ và $ vì mỗi pattern có sẵn thường đã tự đóng khung toàn bộ chuỗi. Nên viết lại logic kết hợp thành một pattern hoàn chỉnh thay vì nối trực tiếp hai pattern lại với nhau.

Vì sao nút Test không trả về kết quả dù pattern và test string đều có vẻ đúng?

Có thể do regex không hợp lệ về cú pháp (ví dụ thiếu dấu ngoặc đóng), hoặc pattern có anchor ^ $ nhưng test string chứa khoảng trắng thừa ở đầu/cuối khiến không khớp toàn bộ. Kiểm tra lại cú pháp pattern và loại bỏ khoảng trắng thừa trong test string.

Pattern CMND/CCCD trong công cụ có phân biệt được CMND cũ và CCCD mới không?

Pattern ^[0-9]{9}$|^[0-9]{12}$ chỉ kiểm tra độ dài chuỗi số (9 số cho CMND cũ hoặc 12 số cho CCCD mới), không kiểm tra thêm cấu trúc mã tỉnh hay ngày sinh mã hóa bên trong. Đây là pattern tham khảo cơ bản, cần bổ sung logic kiểm tra sâu hơn nếu hệ thống yêu cầu độ chính xác cao.

Từ khóa liên quan

  • regex generator
  • tạo regex
  • regular expression
  • regex tester
  • regex pattern
  • validate email regex
  • số điện thoại regex
  • regular expression online
  • character class vs alternation
  • regex character class
  • regex OR operator
  • lỗi regex thường gặp
  • regex số điện thoại việt nam
  • test regex online
  • regex validate form
  • regex escape ký tự đặc biệt
  • regex greedy lazy
  • quantifier regex

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Công cụ Developer Tools liên quan

.env Generator

Tạo file .env và .env.example cho dự án.

.gitignore Generator

Tạo .gitignore cho Node.js, Python, Java.

API Mock Generator

Tạo mock JSON data cho API testing.

API Response Formatter

Format và phân tích API response.

API Tester

Test REST API: GET, POST, PUT, DELETE.

Postman Alternative - API Testing Tool Online với Collections, Environment & File Upload

Postman Alternative miễn phí - Test APIs với Collections, Multiple Environments, Pre-request Scripts, Collection Runner, File Upload (form-data), Tests/Assertions, Code Generation (cURL, JS, Python, Node.js). Browser-based, không cần cài đặt. Save requests, export/import collections, auto-save history. Hỗ trợ Bearer Token, Basic Auth, API Key. Hoàn hảo cho API development và testing.

Swagger API Tester - Test API với OpenAPI/Swagger Spec & Authentication Online

Swagger API Tester miễn phí - Import OpenAPI/Swagger specification và test API endpoints với đầy đủ authentication (Bearer Token/JWT, Basic Auth, API Key). Hỗ trợ OpenAPI 3.0, Swagger 2.0, auto-parse endpoints, parameters, request body. Giao diện như Swagger UI với color-coded methods, grouped endpoints, real-time testing. Hoàn hảo cho API development, testing, debugging secured APIs.

Base Converter

Chuyển đổi Binary, Hex, Base32.

Base64 Encoder

Mã hóa/giải mã Base64.

Binary Converter

Chuyển đổi Decimal, Binary, Hex.

Box Shadow Generator

Tạo CSS box-shadow trực quan.

Chmod Calculator

Tính quyền file Linux.

Dịch vụ của Tấn Phát Digital

Đang xây sản phẩm và cần thêm người làm phần nặng?

Gói giải pháp doanh nghiệp

Nền tảng custom cho ngân hàng, y tế và sàn B2B, chuẩn ISO 27001, GDPR, PCI-DSS, SLA 99.99%.

Từ 50.000.000đXem chi tiết →

Dịch vụ phát triển Blockchain & Web3

Smart contract, dApp và NFT marketplace đa chuỗi, audit bảo mật đầy đủ trước khi lên mainnet.

Từ 50.000.000đXem chi tiết →

Dịch vụ thiết kế website tại Hồ Chí Minh

Website doanh nghiệp, bán hàng và đặt lịch, chuẩn SEO ngay từ cấu trúc, tốc độ tải dưới 3 giây.

Từ 5.000.000đXem chi tiết →

Dịch vụ thiết kế landing page

Trang đích riêng cho từng chiến dịch quảng cáo, tỷ lệ chuyển đổi 3–8%, bàn giao trong 5–21 ngày.

Từ 3.000.000đXem chi tiết →

Tư vấn và báo giá miễn phí trong 24 giờ. Xem toàn bộ dịch vụ

Zalo
Facebook
TAN PHAT DIGITAL
Zalo
Facebook