PDA

View Full Version : چک کردن نام کاربری فارسی



mazy12
شنبه 30 آبان 1388, 14:21 عصر
سلام دوستان ،

چطور میتونم توی کد پی اچ پی چک کنم که کاربر ورودی توی فرم رو فارسی تایپ کرده یا انگلیسی؟


تشکر

mahmood3d
شنبه 30 آبان 1388, 19:09 عصر
سلام
منم همین مشکل رو دارم با این تفاوت که می خوام وقتی کاربر اطلاعات وارد می کنه در بعضی جاها فقط انگلیسی و در بعضی جاها فقط فارسی وارد کنه و اگه غیر از این بود چیزی نتونه تایپ کنه.
البته اگه میشه کدهای جاوا اسکریپتشو توضیح بدین چون اون چیزی که من می خوام سمت کلاینت اتفاق می افته و کار، کاره جاوا اسکریپته. :چشمک:

payamsp
شنبه 30 آبان 1388, 19:55 عصر
براي اينكه بفهميد كاربر فارسي وارد كرده يا انگليسي مي تونيد از regexp استفاده كنيد اما اگه مي خوايد توي تكست باكس نتونه فارسي يا انگليسي بنويسه بايد از جاوااسكريپت واسه اين كار استفاده كنيد

mahmood3d
شنبه 30 آبان 1388, 20:30 عصر
براي اينكه بفهميد كاربر فارسي وارد كرده يا انگليسي مي تونيد از regexp استفاده كنيد اما اگه مي خوايد توي تكست باكس نتونه فارسي يا انگليسي بنويسه بايد از جاوااسكريپت واسه اين كار استفاده كنيد
دوست عزیز طریقه استفادشو خواستم توضیح بدی نه اینکه بگی از چی استفاده کنیم. در ضمن من طریقه استفاده از regexp رو هم نمی دونم و همیشه از کدهای آماده که توی اینترنت بود برای اینجور موارد استفاده می کردم و هر چی هم به کدهاش نگاه می کردم چیزی متوجه نمیشدم. (همون مقادیری که چک میشه که شامل چه کاراکترایی باشه).
در ضمن بعد از اینکه کاراکتر های معتبر رو به برنامه دادیم چطوری به جاوا اسکریپت ربطش بدم؟

payamsp
یک شنبه 01 آذر 1388, 12:53 عصر
با استفاده از كد زير مي توني چك كني كه فارسي وارد شده يا نه



if(!preg_match('/^[ي ك اآبپتثئجچحخدذرزژسشصضطظعغف قکگلمنوهی \s]{3,}$/',$var))
die('فقط بايد فارسي وارد كنيد');

به جاي var$ هم بايد مقدار اون متني كه گرفتي رو بزاري
اما در مورد كد جاوااسكريپت الان وقت نوشتنش رو ندارم كدش رو هم آماده ندارم تا بهت بدم .

mahmood3d
یک شنبه 01 آذر 1388, 18:56 عصر
ممنون از کدی که قرار دادید.
در مورد بخش regexp که قرار دادید میشه طریقه ساخت شرطش رو توضیح بدین یعنی چطوری این محدوده مشخص میشه و چه زمانی از کاراکتر های / ^ { } و ... استفاده می کنیم؟ مشکل من استفاده از این کاراکتر هاست و نمی دونم هر کدوم از اینها چه معنی می ده.
نمی دونم منظورم رو تونستم برسونم یا نه ولی برای مثال می گم.
وقتی ما می خوایم که دنبال یک کلمه ای بگردیم در عبارت جستجو خود عبارت رو می نویسیم و بعدش ستاره می زنیم یعنی هر کلمه ای که اولش اون کلمه بود رو پیدا کنه (دلیل استفاده از ستاره)
اگه میشه هر کدوم از این کاراکتر ها رو توضیح بدین تا بدونم که این رشته چطوری ایجاد میشه.
ممنون

ArtMiz
دوشنبه 02 آذر 1388, 13:59 عصر
function findPersianChar(obj){
var patt1=new RegExp("[\u0600-\u06FF]");
if(patt1.test(obj.value)==true){
alert('Farsi');
}else{
alert('Not Farsi');
}
}

metal gear solid 4
شنبه 07 آذر 1388, 22:12 عصر
Payamsp جان این کدی که گذاشتی رو من استفاده کردم ولی وقتی با php اجراش میکنم به جای این کلمات فارسی علامت ؟ میاد و اگه ?\ رونزارم توی الگوی preg کد کار نمیکنه . یعنی دو واقع فقط به خاطر اون علامت ؟ کد کار میکنه و حروف فارسی رو همه رو ؟ میزنه.
چطوری این مشکل رو حل کنم؟

metal gear solid 4
شنبه 07 آذر 1388, 22:35 عصر
سوالم عوض شد
چطوری میتونم با دستورات PHP مقدار یک کاراکتر فارسی رو بگیرم و مقدار یونیکد اون رو بگیرم ؟ یا اینکه با کدهای یونیکد یا اسکی یا هرچیزی چک کنم که کارکتر وارد شده جزو حروف فارسیه ؟

ممنون میشم بگید

metal gear solid 4
یک شنبه 08 آذر 1388, 00:54 صبح
کسی نیست جواب بده؟:افسرده::گریه:

metal gear solid 4
جمعه 20 آذر 1388, 11:24 صبح
مخم هنگید ولی این رو نفهمیدم.....

دوستان گرامی من میخوام یک فیلدی رو از کاربر بگیرم ببینم این فیلد حاوی کاراکترهای فارسی هست یا نه و اگه نبود خطای مناسب چاپ کنه. از چه دستوری استفاده کنم؟ هر چی گشتم نتونستم جوابی بگیرم.
این دستور Freg که بالا نوشتید یا من درست بلد نیستمش یا قاطی پاتیه. راه دیگه ای نیست ؟؟؟

phoenixhunter
شنبه 21 آذر 1388, 11:34 صبح
با استفاده از یونیکد حروف فارسی میشه اینکار رو کرد.
یه نگاه به این بندازین:
http://forum.iranphp.org/Thread-%D8%B4%D8%A8%D8%A7%D9%87%D8%AA-%D8%A8%DB%8C%D9%86-%D8%AF%D9%88-%D8%B1%D8%B4%D8%AA%D9%87?highlight=%D8%AD%D8%B1%D9 %88%D9%81+%D9%81%D8%A7%D8%B1%D8%B3%DB%8C