ياهو اسم المستخدم Regex
-
05-07-2019 - |
سؤال
أحتاج إلى regex (php) لمطابقة قواعد اسم مستخدم Yahoo:
استخدم من 4 إلى 32 حرفًا وابدأ بحرف.يمكنك استخدام الحروف والأرقام والشرطات السفلية ونقطة واحدة (.).
المحلول
/^[A-Za-z](?=[A-Za-z0-9_.]{3,31}$)[a-zA-Z0-9_]*\.?[a-zA-Z0-9_]*$/
وأو أقصر قليلا:
/^[a-z](?=[\w.]{3,31}$)\w*\.?\w*$/i
نصائح أخرى
/[a-zA-Z][a-zA-Z0-9_]*\.?[a-zA-Z0-9_]*/
ومعرفة ما اذا كان strlen ($ اسم المستخدم)> = 4 و <= 32.
وحد نقطة واحدة؟ هذا صعب.
وأنا لست خبيرا التعابير المنطقية، ولكن أعتقد أن هذا من شأنه أن تحصل عليه، باستثناء ما يلي:
[A-Za-z][A-Za-z0-9_.]{3,31}
وربما يمكن أن تحقق لل. مطلب على حدة؟
باستخدام lookheads يمكنك القيام بما يلي:
^(?=[A-Za-z](?:\w*(?:\.\w*)?$))(\S{4,32})$
نظرًا لأنك لم تحدد نوع التعبير العادي الذي تحتاجه، فقد أضفت الكثير من العناصر المتوافقة مع Perl 5.يحب (?: ... )
للأقواس غير الملتقطة.
ملحوظة: أضفت قوس الإغلاق المفقود مرة أخرى.
لا تنتمي إلى StackOverflow