Search the knowledge base, browse our resources, and visit our forum for more detailed information
Read in English | Lire en français | Leer en español آخر تحديث: 29 يوليو 2025
التعبير النمطي، أو regex، هو نمط بحث يُستخدم لمطابقة أحرف ونطاقات محددة من الأحرف ضمن سلسلة نصية. يُستخدم على نطاق واسع للتحقق من صحة النصوص والبحث والاستخراج والتقييد في معظم لغات البرمجة. يدعم KoboToolbox التعبيرات النمطية للتحكم في الطول والأحرف أثناء إدخال البيانات لسؤال معين (مثل التحكم في إدخال رقم الهاتف المحمول ليكون بالضبط 10 أرقام، أو التحكم في إدخال بريد إلكتروني صالح، إلخ).
قم بإعداد سؤال من نوع نص.
انتقل إلى الإعدادات الخاصة بالسؤال.
انتقل إلى معايير التحقق واختر خيار إدخال منطق التحقق يدويًا بكود XLSForm.
في مربع كود التحقق، أدخل صيغة التعبير النمطي بين علامتي الاقتباس (' ') بتنسيق regex(., ' '). للإشارة، النقطة (.) تشير إلى 'هذا السؤال'، بينما يجب أن يتوافق التعبير النمطي داخل علامتي الاقتباس (' ') مع قواعد التعبيرات النمطية المعتمدة.
(اختياري) أضف رسالة خطأ مخصصة ليراها الشخص الذي يُدخل البيانات عندما لا يستوفي معايير التعبير النمطي.

يمكن أيضًا كتابة التعبير النمطي في XLSForm، تحت عمود constraint:
ورقة survey
type |
name |
label |
appearance |
constraint |
constraint_message |
|---|---|---|---|---|---|
text |
q1 |
رقم هاتف المستجيب |
numbers |
regex(., '^[0-9]{10}$') |
يجب أن تكون هذه القيمة 10 أرقام فقط |
survey |
بدلاً من ذلك، يمكنك إنشاء سؤال من نوع calculate ثم تحديد كود التعبير النمطي تحت عمود calculation. يمكنك بعد ذلك استخدام هذا المتغير عدة مرات حسب الحاجة في الاستبيان:
ورقة survey
type |
name |
label |
calculation |
constraint |
constraint_message |
|---|---|---|---|---|---|
calculate |
q0 |
'^[A-Z]{1}[a-z]{1,}\s[A-Z]{1}[a-z]{1,}$' |
|||
text |
q1 |
اسم جامع البيانات |
regex(., ${q0}) |
يرجى استخدام هذا التنسيق: Kobe Bryant |
|
text |
q2 |
اسم المستجيب |
regex(., ${q0}) |
يرجى استخدام هذا التنسيق: Kobe Bryant |
|
integer |
q3 |
عمر المستجيب |
|||
survey |
بالإضافة إلى الأمثلة والنصائح المقدمة أدناه، يرجى زيارة هذا الموقع للحصول على مزيد من المساعدة والأمثلة.
يجب دائمًا كتابة التعبيرات النمطية في KoboToolbox بين الفواصل العليا regex(., ' ') كما هو موضح في الأمثلة.
التعبير النمطي |
الوصف |
|---|---|
|
يطابق رمز الإقحام بداية السلسلة النصية دون استهلاك أي حرف. |
|
يطابق رمز الدولار نهاية السلسلة النصية دون استهلاك أي حرف. |
|
يطابق إما |
|
يطابق أي حرف صغير من |
|
يطابق أي حرف كبير من |
|
يطابق أي أرقام صحيحة من |
|
يطابق أي حرف من |
|
يطابق أي حرف باستثناء |
|
يطابق أي أحرف باستثناء تلك الموجودة في النطاق من |
|
يطابق حرف التجميع |
|
يطابق الشريط العمودي أي عنصر منفصل. |
|
يُستخدم الشرطة المائلة العكسية لمطابقة القيمة الحرفية لأي حرف وصفي (مثل حاول استخدام |
|
يطابق نفس الحرف الذي تمت مطابقته مؤخرًا بواسطة المجموعة الملتقطة رقم n (الرقم المستخدم). |
|
يطابق أي مسافة أو علامة تبويب. |
|
يطابق، دون استهلاك أي أحرف، مباشرة بين حرف مطابق بواسطة |
|
يطابق أي أرقام مكافئة |
|
يطابق أي شيء بخلاف الأرقام |
|
يطابق أي حرف كلمة (أي |
|
يطابق أي شيء بخلاف ما يطابقه |
|
تطابق علامة الاستفهام المستخدمة خلف حرف أو تتخطى (إذا لم تكن مطلوبة) مطابقة الحرف. |
|
يطابق رمز النجمة المستخدم خلف حرف صفرًا أو أكثر من الأحرف المتتالية. |
|
يطابق رمز الجمع المستخدم خلف حرف واحدًا أو أكثر من الأحرف المتتالية. |
|
يطابق بالضبط |
|
يطابق على الأقل |
|
يطابق بين |
التعبير النمطي |
الوصف |
|---|---|
|
يقبل الأحرف الصغيرة والكبيرة ذات العلامات الإضافية |
|
يقبل الأحرف الصغيرة والكبيرة ذات العلامات الإضافية بما في ذلك الأحرف ذات علامة التنوين (يتضمن [ ] ^ \ × ÷) |
|
يقبل الأحرف الصغيرة والكبيرة ذات العلامات الإضافية ولكن لا يتضمن [ ] ^ \ |
|
يقبل الأحرف الصغيرة والكبيرة ذات العلامات الإضافية ولكن لا يتضمن [ ] ^ \ × ÷ |
لجميع الأسئلة من نوع text التي تستخدم أرقامًا، لا تنسَ كتابة numbers تحت عمود appearance.
التعبير النمطي |
الوصف |
|---|---|
|
تقييد رقم الهاتف المحمول إلى عشرة أرقام |
|
تقييد الإدخال إلى |
|
تقييد الإدخال بين |
|
تقييد الإدخال إما إلى |
|
تقييد إدخال تسعة أرقام حيث لا يمكن أن يكون الرقم الأول |
|
تقييد الإدخال إلى رقم واحد بين |
|
تقييد الإدخال إلى خمسة أرقام بين |
|
تقييد الإدخال إلى رقمين وثلاثة أرقام عشرية (مثل |
|
تقييد الإدخال إلى رقمين وثلاثة أرقام عشرية (بينما الأرقام العشرية اختيارية) (مثل |
|
تقييد الإدخال إلى أرقام من |
التعبير النمطي |
الوصف |
|---|---|
|
تقييد الإدخال إلى أي أحرف صغيرة (بطول يصل إلى 6 أحرف) |
|
تقييد الإدخال إلى أي أحرف كبيرة (بطول يصل إلى 10 أحرف) |
|
تقييد الإدخال إلى |
|
تقييد الإدخال إلى |
|
تقييد إدخال اسم المستفيد حيث تكون الأحرف الأولى من الاسم الأول والأخير كبيرة مثل |
|
تقييد إدخال اسم المستفيد مع الاسم الأول والاسم الأوسط (إن وجد) والاسم الأخير مثل |
|
تقييد إدخال الاسم الكامل للمستفيد حيث تكون الأحرف الأولى من الأسماء كبيرة والأسماء طويلة جدًا (غالبًا أكثر من 3 كلمات) مثل |
|
تقييد إدخال الاسم الأول للمستفيد (حتى تتمكن من التقاط الإملاء الصحيح) حيث يُجبر جامعو البيانات على إدخال الاسم الأول للمستفيد مرتين مثل |
|
تقييد إدخال الاسم الأخير للمستفيد (حتى تتمكن من التقاط الإملاء الصحيح) حيث يُجبر جامعو البيانات على إدخال الاسم الأخير للمستفيد مرتين مثل |
|
تقييد حرف داخل كلمة باستخدام |
|
تقييد حرف داخل كلمة باستخدام |
|
تقييد حرف داخل كلمة باستخدام |
|
تقييد الإدخال إلى حرف غير رقمي (مثل |
|
تقييد الإدخال إلى خمسة أحرف غير رقمية (مثل |
|
تقييد جميع إدخالات النص إلى أحرف كبيرة، باستثناء الأحرف الخاصة (! @ # $ % ^ & * ( ) . , ? / " ' إلخ.) |
|
تقييد جميع إدخالات النص إلى أحرف كبيرة، بما في ذلك الأحرف الخاصة (! @ # $ % ^ & * ( ) . , ? / " ' إلخ.) |
|
تقييد جميع إدخالات النص إلى أحرف صغيرة، باستثناء الأحرف الخاصة (! @ # $ % ^ & * ( ) . , ? / " ' إلخ.) |
|
تقييد جميع إدخالات النص إلى أحرف صغيرة، بما في ذلك الأحرف الخاصة (! @ # $ % ^ & * ( ) . , ? / " ' إلخ.) |
التعبير النمطي في XLSForm |
الوصف |
|---|---|
|
تقييد حرف واحد يطابق بين |
|
تقييد ثلاثة أحرف تطابق بين |
|
تقييد معرف المستفيد إلى تنسيق محدد مثل |
|
تقييد معرف المستفيد إلى تنسيق محدد مثل |
|
تقييد إدخال عملة من ثلاثة أرقام مع علامة عملة (إما |
|
تقييد إدخال دقيق لعدد الكلمات (مثل تقييد بالضبط 3 كلمات |
|
تقييد إدخال عدد الكلمات (مثل تقييد نطاق من الكلمات من |
هذه الأمثلة توضيحية بحتة ويجب تعديلها حسب حالة الاستخدام الخاصة بك. استخدام التعبيرات النمطية لتقييد عناوين البريد الإلكتروني لا يضمن أنها صالحة، بل فقط أنها تتبع نمطًا متوقعًا.
التعبير النمطي |
الوصف |
|---|---|
|
تقييد الإدخال إلى عنوان بريد إلكتروني صالح (مثل |
التعبير النمطي |
الوصف |
|---|---|
|
تقييد إدخال الوقت بتنسيق |
|
تقييد إدخال الوقت بتنسيق |
إذا كنت ترغب في استخدام قيد تعبير نمطي على رقم في سؤال من نوع text، تأكد من أن لديك دائمًا القيمة numbers تحت عمود appearance. هذا يقيد عرض الأحرف الأبجدية، مما يجعل الأرقام فقط مرئية للإدخالات.
يتصرف تطبيق Collect Android وEnketo بشكل مختلف في التعامل مع التعبيرات النمطية. يتصرف Collect كما لو كنت قد استخدمت المراسي ^ و $ حول التعبير (حتى لو لم تستخدمها)، بينما يتطلب Enketo المراسي كإلزامية للمطابقة الدقيقة.
Did you find what you were looking for? Was the information clear? Was anything missing?
Share your feedback to help us improve this article!
KoboToolbox is maintained by Kobo Inc.