PDA

View Full Version : چطور نام , تاریخ , کد ملی رو validate کنم



hoja06101001
سه شنبه 13 مرداد 1388, 06:59 صبح
چظوری میشه این سه مورد بالا رو validate کرد ؟
نام به صورت فارسی وارد شده .

mrrajabi
سه شنبه 13 مرداد 1388, 08:44 صبح
با عبارات منظم. واسه تاریخ که کداش هست می تونین دانلود کنین. واسه کد ملی هم که یه رشته کاراکتر ثابت باید ولیدیت بشه, واسه نام هم که همین طور. درست مثل کد ملی

mostafa_shaeri_tj
سه شنبه 13 مرداد 1388, 10:17 صبح
البته این کارا رو معمولا با جاوا اسکریپت لنجام میدن که از درخواست های بی مورد سرور هم کاسته بشه.

onlymaj
سه شنبه 13 مرداد 1388, 10:58 صبح
سلام به شما دوست عزیز
اگر منظور شما از Validate تشخیص وارد کردن عدد برای کارت ملی یا تاریخ و یا وارد کردن حروف برای نام هست باید از دستور strpos در php , js استفاده کنید .الگوریتم به این صورت است که از رشته ای که کاربر وارد می کند تک به تک کاراکتر ها باید در یکی از دو دسته زیر قرار بگیرد :
1- برای عدد '0123456789'
2- برای حروف 'تمامی حروف یا کاراکترهای مجاز که شما می خواهید'
و بعد هم اگر که جزو یکی از اینا بود مقدار مطلوب رو برگردونه فقط همین.
اگه خواستی بگو تا کد واسط بذارم.
موفق و موید باشید.
----------------------
Only_MAJ

hoja06101001
چهارشنبه 14 مرداد 1388, 00:56 صبح
میشه همین رو برای سه مورد بالا در php برام بنویسی .

خودم هر کار کردم درست از اب در نیومد .

onlymaj
پنج شنبه 15 مرداد 1388, 01:25 صبح
چشم این که غصه نداره. به قول برو بچ شما جون بخواه اما کیه که بده...:لبخند:
اما کد که اینه :

function validate_chk($st,$no){
//***************** Code By Only_MAJ ****************
switch($no){
//******** Load Type
case 'number':
$t = '0123456789';
break;
case 'char':
$t = ' abcdefghijklmnopqrstuvwxyz';
break;
case 'charfa':
$t = 'ابپتثجچحخدذرزژسشصضطظعغفق لمنوهی';
break;
}
//************ Main Check.
$re = true;
for($i=0;$i<strlen($st);$i++){
if(strpos(strtolower($t),strtolower(substr($st,$i, 1)))!=''){
$re = true;
}
else{
$re = false;
exit;
}
}
return $re;
}
البته ببخشید همه شو با هم نوشتم
نحوه فراخوانی عدد:

validate_chk('رشته مورد نظر','number');
نحوه فراخوانی رشته انگلیسی :

validate_chk('رشته مورد نظر','char');
نحوه فراخوانی رشته فارسی :

validate_chk('رشته مورد نظر','charfa');
البته باید در مورد رشته فارسی به عزیزان بگم که بسته به نوع encoding ارسالی به سمت سرور رشته فرق می کنه. من در حالت درستش رو فرض کردم.
موفق باشید
--------------
Only_MAJ