سلام
برای اینکه محتویات یک textbox رو که از فرم ارسال میشه ولیدیت کنم از preg_match استفاده کردم ولی در مورد پترنهای این تابع به مشکل خوردم، توی گوگل سرچ کردم و رسیدم به اینجا تا حدی مسئله حل شد به غیر از یک مورد:
حالتهای مجازی که میتونه باشه "daniel" ، "daniel-12313" ، "daniel345345" و اما با کدی که در بالا من نوشتم این موارد "daniel-" ، "daniel234234-" ، "danie-2344-" رو هم قبول میکنه که نمیخوام قبول کنه. یعنی میخوام اگه آخر عبارت "-" باشه ولید نکنه. با اضافه کردن یک قسمت به شرط تونستم دورش بزنم:
اما ممنون میشم راهنمائی کنید که چطور میشه با خود preg_match این مسئله رو حل کرد.
مرسی
برای اینکه محتویات یک textbox رو که از فرم ارسال میشه ولیدیت کنم از preg_match استفاده کردم ولی در مورد پترنهای این تابع به مشکل خوردم، توی گوگل سرچ کردم و رسیدم به اینجا تا حدی مسئله حل شد به غیر از یک مورد:
کد پیاچپی:
$username = $_POST['username'];
if(preg_match("/^[a-z][a-z0-9][a-z-0-9]+$/i", $username)):
echo "Legal Username";
else:
echo "Illegal Username";
endif;
حالتهای مجازی که میتونه باشه "daniel" ، "daniel-12313" ، "daniel345345" و اما با کدی که در بالا من نوشتم این موارد "daniel-" ، "daniel234234-" ، "danie-2344-" رو هم قبول میکنه که نمیخوام قبول کنه. یعنی میخوام اگه آخر عبارت "-" باشه ولید نکنه. با اضافه کردن یک قسمت به شرط تونستم دورش بزنم:
کد پیاچپی:
$username = $_POST['username'];
if((preg_match("/^[a-z][a-z0-9][a-z-0-9]+$/i", $username)) && (substr($username, -1) != "-")):
echo "Legal Username";
else:
echo "Illegal Username";
endif;
اما ممنون میشم راهنمائی کنید که چطور میشه با خود preg_match این مسئله رو حل کرد.
مرسی
