PDA

View Full Version : یک عبارت منظم



mohammad-gh
سه شنبه 08 فروردین 1391, 20:25 عصر
می خوام با یک عبارت منظم کاری کنم که کاربر نتونه نو فیلد نام عدد بنویسه
اما این کار نمیکنه


$pattern = "[0-9]*";
if (eregi($pattern, $nameu))
echo "شما از عدد استفاده کرده اید";

میشه بگید مشکل از کجاست

yones_safari
سه شنبه 08 فروردین 1391, 20:50 عصر
دادا عبارات منظم رو میخوای چیکار؟
کد اسکی شون رو با جاوااسکریپت چک کن؟!اگه بلد نیستی کدش رو بنویسم برات؟!
موفق باشی

amin1softco
سه شنبه 08 فروردین 1391, 21:03 عصر
$pattern = "[0-9]";
if (eregi($pattern, $nameu))
echo "شما از عدد استفاده کرده اید";
یک ستاره زیاد گذاشتید! همین عبارت منظم رو باید دقیق بکار برد چون مفاهیمی متفاوتی رو ایجاد می کنه!

mohammad-gh
چهارشنبه 09 فروردین 1391, 19:02 عصر
متاسفانه این کار نکرد
نمی دونم چرا ولی به هیچ کدام عکس العملی نشان نمیده نه با عدد نه به غیر عدد!

binyaft
چهارشنبه 09 فروردین 1391, 20:29 عصر
برای فهمیدن اینکه کاربر از عدد استفاده کرده یا نه "جنگولک" بازی ای به نام Regex نیازی نیست!
شما میتونی از تابع Strpos استفاده کنی .
http://php.net/manual/en/function.strrpos.php

اما اگر اصرار بر این هست که از Regex استفاده کنی ...

function find_num($str){

if(preg_match('/([0-9])/',$str)){
return true;
}
return 0;


}

echo find_num('12'); // true
echo find_num('salam1'); // true
echo find_num('6sa44l3am44'); // true
echo find_num('salam'); // false

mohammad-gh
پنج شنبه 10 فروردین 1391, 15:37 عصر
دیگه نمی دونم چی بگم
هر کاری می کنم درست نمیشه
من اطلاعات رو دارم پس می کنم از یک صفحه و تو صفحه ای که دارم ذخیره اش می کنم دارم اینها رو چک می کنم
نکنه مشکل از این باشه
جون به عنوان مثال وقتی تابع

find_num('محمد 0913'); رو اجرا می کنم جواب درست میده
امام وقتی می خوام با تابع امتحانش کنم درست جواب نمیده

find_num($nameu)
این هم فایل من
با همه توابع هم امتحان کردم حتی با strstr باز هم جواب نگرفتم


$nameu=$_POST['nameu']; //user name
$reshte=$_POST['reshte'];
$shogl=$_POST['shogl'];

function find_num($str){
if(preg_match('/([0-9])/',$str)){
return true;
}return 0;
}

MMSHFE
پنج شنبه 10 فروردین 1391, 16:02 عصر
یکبار nameu$ رو echo کنید ببینید چی چاپ میشه؟

mohammad-gh
پنج شنبه 10 فروردین 1391, 19:05 عصر
امتحان کردم ، مشکلی نداره
دقیقا همون کلمه ای که وقتی دستی بجای str در تابع میزنم جواب میده ،‌رو نشون میده

binyaft
پنج شنبه 10 فروردین 1391, 19:15 عصر
فایل رو بذارید ، چک کنیم .