PDA

View Full Version : کمک در نوشتن regular expresion (چک کردن نبود عدد در درون رشته)



مهرداد سیف زاده
یک شنبه 27 بهمن 1392, 08:24 صبح
برای چک کردن نبود عدد درون رشته رگولار زیر رو نوشتم

echo preg_match("/[^0-9]/","333");

در این حالت خروجی false هست که داره درست کار میکنه ولی وقتی ورودی رو afsdfdsf234234 میدی نتیجه true بر میگردونه یعنی این رگولار صرفا ابتدای رشته رو با عدد مورد سنجش قرار میده در صورتی که میخوام اگر رشته sdasd22222asdasd رو بهش دادم نتیجه false رو بده و در تمام رشته عدد نباشه

MMSHFE
یک شنبه 27 بهمن 1392, 09:17 صبح
کدتون اشتباهه. الآن داره میگرده ببینه کارکتر غیر عددی پیدا میشه یا نه. شما باید بگردین ببینید کارکتر عددی پیدا میشه یا نه و نتیجه رو برعکس کنید:


echo !preg_match('/[0-9]/','333') ? 'True' : 'False';
// output: False
echo !preg_match('/[0-9]/','afsdfdsf234234') ? 'True' : 'False';
// output: False
echo !preg_match('/[0-9]/','sdasd22222asdasd') ? 'True' : 'False';
// output: False
echo !preg_match('/[0-9]/','sdasdasdasd') ? 'True' : 'False';
// output: True