شرط عدد بودن ورودی در php
شرط عدد بودن ورودی در php شاید برای شما هم این مشکل وجود داشته باشه که کاربران پارامترهای ورودی را جای اعداد با حروف پر میکنند و یا کاراکتر های غیر مجاز در ان وارد میکنند.خب برای اینکه از ورودی غیر مجاز جلوگیری کنیم کافیست تا از شرط زیر برای چک کردن عدد بودن تمام ورودی استفاده میکنم.
خب در html میتوانی با قرار دادن نوع فیلد مثل <input type=”number”> ورودی را مشخص کرد.
اما در php ما با استفاده از تابع preg_match این شرط را نوشتیم حتی میتوان از ترفندهای دیگه برای نوشتن شرط و فیلتر کردن اعداد استفاده کرد.
<?php $num="55"; if(preg_match("/^(-){0,1}([0-9]+)(,[0-9][0-9][0-9])*([.][0-9]){0,1}([0-9]*)$/",$num) == 1){ echo "تنها اعداد در ورودی وجود دارد";} else{ echo "دارای ورودی نامعتبر است"; } /* result: تنها اعداد در ورودی وجود دارد */
در مثال بالا اگر در کنار ۵۵ حروف و یا کارکتر های غیر از عدد استفاده شود نتیجه دارای ورودی نامعتبر چاپ خواهد شد.
فانکشن:
function isNumeric($value) { return (preg_match("/^(-){0,1}([0-9]+)(,[0-9][0-9][0-9])*([.][0-9]){0,1}([0-9]*)$/", $value) == 1); } //or echo is_numeric(-1.2); //out = true - php function echo isNumeric(-1.2); //out = 1
کد پایینیم هست اما دقت فانکشن بالا خیلی بیشتره و مناسبتره
<?php $num="12" ; if(is_numeric($num))Echo 'true! '; else echo 'false! ' ;
اگر سوالی در باره این شرط یا راههای بهتر و کاربردی تر دارید در نظرات همین مطلب به اشتراک بگذارید.
موفق باشید.
چقد سخته تو پی اچ پی
تو پایتون راحت میشه با تابع isdigit چک کرد
بدون دردسر
تو php هم تابع داریم برای اینکار