Javad Ezaz
4 سال پیش توسط Javad Ezaz مطرح شد
1 پاسخ

کار نکردن تابع Regex

سلام دوستان
من برای تعریف ولیدیشن پسوردام،‌ Rule زیر رو نوشتم اما زمانی که پسورد رو درست وارد میکنم preg_match_all درست عمل نمیکنه و فقط false بر میگردونه.
سناریو اینه که پسورد حداقل دو کاراکتر خاص مثل $#% داشته باشه .
کدی که نوشتم :

$pattern = "/(?=.*[a-z])(?=(?:[^`!@#$%^&*\-_=+'\/.,\?]*[`!@#$%^&*\-_=+'\/.,\?]){2}.*).*/i";
        if (!preg_match_all($pattern, $value)) {
            $this->failReason = 'special';
            return false;
        }
        return true;

ثبت پرسش جدید
رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 4 سال پیش آپدیت شد
0
<?php 
$re = '/(?=.*[a-z])(?=(?:[^`!@#$%^&*\-_=+\'\/.,\?]*[`!@#$%^&*\-_=+\'\/.,\?]){2}.*).*/i';
$str = 'reza atom 12';

$a=preg_match($re, $str);

print_r($a);

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام