راکت

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

1 پاسخ

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

$pattern = "/(?=.*[a-z])(?=(?:[^`!@#$%^&*\-_=+'\/.,\?]*[`!@#$%^&*\-_=+'\/.,\?]){2}.*).*/i";
        if (!preg_match_all($pattern, $value)) {
            $this->failReason = 'special';
            return false;
        }
        return true;
Javad Ezaz
Javad Ezaz
@sjavadez
ثبت پرسش جدید

پاسخ‌ها

1
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

<?php 
$re = '/(?=.*[a-z])(?=(?:[^`!@#$%^&*\-_=+\'\/.,\?]*[`!@#$%^&*\-_=+\'\/.,\?]){2}.*).*/i';
$str = 'reza atom 12';

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

print_r($a);

شاید پاسخ شما همین‌جا باشد

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

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