سؤال

أقوم بإنشاء نظام تسجيل يحتاج إلى التحقق من اسم / ممر إلخ. مع Regex (وتفضل)، ما لدي حتى الآن هو:

//Check so numbers aren't first, such as 00foobar
preg_match('/^(?!\d)[a-z0-9]+$/iD',$usrname);
//Just simple check
preg_match('/^[a-zA-Z0-9]+$/',$psword);

ولكن لا بد لي من القيام بأشياء غبية في ما إذا كانت عبارات مثل:

if strlen($psword) > 30 || if (strlen($psword) < 4) ....

كيف يمكنني أن أفسد الفحص الطول في بيانات التعبير العادية الأصلية اثنين؟ هذا من شأنه أن يجعلني سعيدا جدا ..

هل كانت مفيدة؟

المحلول

نفسه ولكن باستخدام W و D للكلمة والأرقام، ولكن قد ترغب أيضا في تضمين الرموز الأساسية مثل %!?/ ... etc...

preg_match('/^[\w\d]{4,30}$/',$psword);

ال {n,v} سوف تتحقق من صحة عناصر n والحد الأقصى الخامس من قبل.

مثل A{2,3} سوف التحقق من صحة ل AA و AAA. وبعد يمكنك إلقاء نظرة هناك لمزيد من المراجع

على نفس الأزياء إذا كنت تريد فقط ضبط الحد الأدنى من Patern {n,} أن تفعل ذلك. علي سبيل المثال:

preg_match('/^[\w\d]{4,}$/',$psword);

نصائح أخرى

أعتقد أن هذا يجب أن يفعل الخدعة:

preg_match ('/ ^ [A-ZA-Z0-9] {4،30} $ /'، $ psword)؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top