ToolHub
View All Posts

أنماط التعبيرات النمطية الأساسية: 10 أنماط يحتاجها كل مطور

يحتاج كل مطور إلى مكتبة من أنماط التعبيرات النمطية الموثوقة للتحقق من صحة المدخلات. فيما يلي 10 أنماط أساسية تظهر في كل مشروع تقريبًا، كل منها مع شرح لسبب عمل النمط بهذه الطريقة.

1. التحقق من البريد الإلكتروني

استخدم هذه الأنماط كأساس وتعديلها لتناسب احتياجاتك الخاصة. كل نمط يتضمن تفسيرًا لكيفية عمله حتى تتمكن من تكييفه بثقة.

العلامةالاسمالوصف
iغير حساس لحالة الأحرفالمطابقة تتجاهل الفرق بين الأحرف الكبيرة والصغيرة
gشاملإيجاد جميع المطابقات، وليس الأولى فقط
mمتعدد الأسطرتغيير سلوك ^ و $ لمطابقة بداية/نهاية كل سطر
sنقطة واحدةيجعل . يطابق أحرف السطر الجديد أيضًا
uUnicodeتمكين ميزات Unicode (مثل هروب \p{})
yلاصقالمطابقة فقط من آخر فهرس (lastIndex)
[] Character class [aeiou] matches any vowel
() Capture group (ab)+ matches ab, abab
| Alternation (OR) cat|dog matches cat or dog
\d Digit [0-9] \d{3} matches 123
\w Word character [a-zA-Z0-9_] \w+ matches hello_123
\s Whitespace a\sb matches a b

2. التحقق من URL

ما هو أفضل تعبير نمطي للتحقق من البريد الإلكتروني؟

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

مطابقة عناوين البريد الإلكتروني أمر صعب بشكل مشهور. يجب أن يوازن النمط الجيد بين اكتشاف العناوين غير الصالحة وتجنب الإيجابيات الكاذبة. هذا النمط يلتقط معظم الحالات الشائعة دون أن يكون صارمًا جدًا:

مطابقة عناوين URL HTTP و HTTPS للاستخدام العام:

التعامل مع تنسيقات مختلفة لأرقام الهواتف الأمريكية:

نصيحة: احفظ هذه الأنماط كمرجع سريع. كل نمط يعمل خارج الصندوق لمهام التحقق الشائعة، لكن يجب عليك التكيف مع متطلبات عملك المحددة.

3. التحقق من رقم الهاتف

هل يمكن استخدام التعبيرات النمطية للتحقق من صحة التاريخ؟

^https?:\/\/(www\.)?[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(\/[^\s]*)?$

التحقق من صحة عنوان IPv4 يضمن أن كل ثمانية بتات بين 0 و 255:

التحقق من تنسيق تاريخ ISO (YYYY-MM-DD):

مطابقة ألوان CSS السداسية عشر بالتنسيق المختصر (3 أرقام) والكامل (6 أرقام):

4. التحقق من عنوان IP (IPv4)

كيفية اختبار أنماط التعبيرات النمطية؟

^\+?[1-9]\d{1,14}$

التحقق من صحة أسماء المستخدمين بأحرف أبجدية رقمية وشرطات سفلية وواصلات:

فرض سياسات كلمات المرور القوية بحد أدنى 8 أحرف:

مطابقة تنسيقات الرموز البريدية الأمريكية (5 أرقام و ZIP+4):

5. التحقق من التاريخ (YYYY-MM-DD)

ما هي أعلام التعبيرات النمطية؟

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

مطابقة أرقام بطاقات الائتمان الرئيسية (Visa و MasterCard و Amex و Discover):

اختبر دائمًا أنماط التعبيرات النمطية بمدخلات صالحة وغير صالحة قبل النشر. استخدم مختبرات التعبيرات النمطية التفاعلية للتحقق من تطابق الأنماط مع جميع الحالات الحدية. ضع في اعتبارك أن التعبيرات النمطية ليست الحل الأمثل لجميع مهام التحقق من الصحة.

استخدم مختبر التعبيرات النمطية المجاني الخاص بنا لبناء واختبار أنماطك.

6. التحقق من رمز اللون السداسي عشر

هل يجب التحقق من صحة المدخلات من جانب العميل أم الخادم؟

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

لا يوجد نمط واحد مثالي للبريد الإلكتروني. النمط ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ يوازن بين الدقة والعملية. يلتقط معظم العناوين غير الصالحة دون رفض العناوين الصالحة ذات الأحرف الخاصة. أفضل تحقق بريد إلكتروني هو إرسال بريد تأكيد فعلي.

يمكن للتعبيرات النمطية التحقق من تنسيق التاريخ، لكنها لا تستطيع التحقق من صحة التاريخ الفعلية (مثل اكتشاف 30 فبراير). للتحقق الكامل، استخدم وظائف التاريخ المضمنة في لغة البرمجة الخاصة بك بعد التحقق من التعبير النمطي.

استخدم مختبرات التعبيرات النمطية التفاعلية التي تسلط الضوء على المطابقات في الوقت الفعلي وتشرح كل جزء من النمط. اختبر بمدخلات صالحة وغير صالحة، بما في ذلك الحالات الحدية. العديد من IDEs ومواقع الويب توفر هذه الأدوات.

7. التحقق من اسم المستخدم

YYYY-MM-DD (ISO 8601)

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

الأعلام تعدل سلوك المطابقة: i (غير حساس لحالة الأحرف)، g (مطابقة شاملة، كل التطابقات)، m (نمط متعدد الأسطر، ^ و $ يطابقان بداية/نهاية كل سطر)، s (نمط النقطة الواحدة، . يطابق السطر الجديد أيضًا)، u (دعم Unicode الكامل).

يجب القيام بكليهما. يوفر التحقق من جانب العميل تغذية راجعة فورية للمستخدمين، مما يحسن تجربة المستخدم. يوفر التحقق من جانب الخادم الأمان، حيث يمكن تجاوز التحقق من جانب العميل. طبق نفس قواعد التحقق في كلا المكانين.

Does not match: 2026-5-20, 2026-13-01, 26-05-20

8. التحقق من كلمة المرور

CSS Hex Color

^#(?:[0-9a-fA-F]{3}){1,2}$

#fff#ffffff{1,2} quantifier allows either one or two repetitions of the 3-hex-digit group, supporting both formats.

Matches: #fff, #FF5733, #1e293b

Does not match: fff, #ff, #1234567

9. التحقق من الرمز البريدي

URL Slug Pattern

^[a-z0-9]+(?:-[a-z0-9]+)*$

This pattern validates URL slugs: lowercase alphanumeric strings with hyphens as separators. It ensures no leading or trailing hyphens and no consecutive hyphens. This format is SEO-friendly and safe for use in URLs, file names, and identifiers.

Matches: my-blog-post, regex-patterns-guide, tool123

Does not match: My-Post, -slug, slug-, my--post

10. التحقق من رقم بطاقة الائتمان

General Credit Card Pattern

^(?:4\d{12}(?:\d{3})?|5[1-5]\d{14}|3[47]\d{13}|6(?:011|5\d{2})\d{12})$

This pattern validates major credit card numbers: Visa (starts with 4, 13 or 16 digits), Mastercard (starts with 51-55, 16 digits), American Express (starts with 34 or 37, 15 digits), and Discover (starts with 6011 or 65, 16 digits). Combine this with the Luhn algorithm for complete validation.

أفضل الممارسات

HTML Tag Extraction

<([a-z][a-z0-9]*)\b[^>]*>(.*?)<\/\1>

([a-z][a-z0-9]*)\1(.*?) captures the content between tags using lazy matching to get the shortest match.

الأسئلة الشائعة

Want to test these regex patterns interactively? Try our free Regex Tester with real-time matching, capture group visualization, and pattern explanations.

جرب مختبر التعبيرات النمطية

Frequently Asked Questions

What is a regex pattern?

A regex (regular expression) pattern is a sequence of characters that defines a search pattern. It is used for string matching, validation, search and replace operations, and text parsing. Regex patterns use special metacharacters like ., *, +, ?, [], (), and {} to define flexible matching rules.

Should I use regex for email validation?

Use regex for basic email format validation (checking for @ symbol, domain structure), but do not try to fully validate email addresses with regex alone. The email specification (RFC 5322) is extremely complex, and no regex can perfectly validate all valid addresses. For production use, combine basic regex validation with actual email verification (sending a confirmation link).

What is the difference between greedy and lazy quantifiers?

Greedy quantifiers (*, +) match as much text as possible, while lazy quantifiers (*?, +?) match as little text as possible. For example, applied to 'aabb', the greedy pattern a.*b matches 'aabb' (the entire string), while the lazy pattern a.*?b matches only 'aab' (the shortest match).

How do I test regex patterns?

Use online regex testers like the ToolHub Regex Tester to interactively test patterns against sample text. These tools highlight matches in real-time, show capture groups, and explain what each part of the pattern does.

Are regex patterns the same across programming languages?

Most regex syntax is shared across languages, but there are differences in advanced features. JavaScript does not support lookbehind assertions in older engines, Python uses different syntax for named groups than JavaScript, and PCRE (PHP) supports more features than most other engines. Always test patterns in your target language.