Lina
2 سال پیش توسط Lina مطرح شد
4 پاسخ

فیلتر اسم فارسی یا انگلیسی

سلام
چطوری و با چه تابعی میشه اسم فارسی و انگلیسی رو اعتبار سنجی کرد؟
یعنی اگر داخل استرینگ special character یا اعداد و ... بود بگه؟


ثبت پرسش جدید
احسان داوری
تخصص : برنامه نویس
@ehsndvr 2 سال پیش مطرح شد
0

@LinaQuick فقط کافیه یک if تعریف کنید و بگید اگه متنی که کاربر وارد کرده انگلیسی و یا فارسی نبود ، بهش خطا بده. در غیر این صورت مجاز به ادامه کار باشه ، یعنی :

if (!preg_match('/^(?:[A-Za-z]+(?:\s+|$)){2,3}$/',trim($input)) || !preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name))){
echo " شما فقط قادر به وارد کردن اسامی انگلیسی و فارسی هستید. "
}

احسان داوری
تخصص : برنامه نویس
@ehsndvr 2 سال پیش مطرح شد
1

سلام شما باید با استفاده از ریجکس ها (Regex) اینکار رو انجام بدید.
کد های نمونه برای زبان اسکریپت نویسی PHP:

برای اسامی انگلیسی
if(preg_match('/^(?:[A-Za-z]+(?:\s+|$)){2,3}$/',trim($input)))

برای اسامی فارسی
if (preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name)))

موفق باشید.


Lina
تخصص : برنامه نویس
@LinaQuick 2 سال پیش آپدیت شد
0

@ehsndvr خیلی ممنون
فقط اگر بخوام هم انگلیسی مجاز باشه و هم فارسی چیکار باید بکنم؟


محمدرضا
تخصص : <programmer/>
@mrjazini.ir 2 سال پیش مطرح شد
0

اینطوری یعنی اعدادو کاراکترهای غیر از حروف غیر مجازه دیگه

این لینک هم بدرد میخوره
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions


احسان داوری
تخصص : برنامه نویس
@ehsndvr 2 سال پیش مطرح شد
0

@LinaQuick فقط کافیه یک if تعریف کنید و بگید اگه متنی که کاربر وارد کرده انگلیسی و یا فارسی نبود ، بهش خطا بده. در غیر این صورت مجاز به ادامه کار باشه ، یعنی :

if (!preg_match('/^(?:[A-Za-z]+(?:\s+|$)){2,3}$/',trim($input)) || !preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name))){
echo " شما فقط قادر به وارد کردن اسامی انگلیسی و فارسی هستید. "
}

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

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