تالار گفتمان nCIS.ir

نسخه‌ی کامل: ترکیبی اعداد و حروف در فیلدها
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
باسلام
من می خوام برای فیلدهای که کاربر وارد می کنند pattern تعریف کنم که فقط حروف فارسی و اعداد را بتواند وارد کند و اگر حروف انگلیسی یا کاراکترهای خاصی مثل !@#$% را وارد کرد خطا بگیرد
من این کد را نوشتم جواب دادم

[['name'], 'match', 'pattern' => '/[x{0600}-x{06FF}x]{1,32}/u'],
اما این کد وقتی جواب میده که حروف انگلیسی، اعداد یا کاراکترهای خاص را به تنهایی وارد کنم اما اگر همراه با حروف فارسی مثلاً «سلام !@#» بنویسم قبول می کنه و خطا نمی گیره
بنظرتون باید چکار کنم؟
[['name'], 'match', 'pattern' => '/^[x{0600}-x{06FF}x]{1,32}$/u'],

قراردادن ^ در ابتدا باعث میشه که پترن با الگوی شما شروع بشه و $ در انتها هم باعث میشه که پترن با الگوی شما تمام بشه. این یعنی بجز الگوی شما چیزی توی متن نباشه.