شرط عدد بودن ورودی در php

شرط عدد بودن ورودی در php شاید برای شما هم این مشکل وجود داشته باشه که کاربران پارامترهای ورودی را جای اعداد با حروف پر میکنند و یا کاراکتر های غیر مجاز در ان وارد میکنند.خب برای اینکه از ورودی غیر مجاز جلوگیری کنیم کافیست تا از شرط زیر برای چک کردن عدد بودن تمام ورودی استفاده میکنم.

خب در html  میتوانی با قرار دادن نوع فیلد مثل <input type=”number”>  ورودی را مشخص کرد.

اما در php ما با  استفاده از تابع preg_match  این شرط را نوشتیم حتی میتوان از ترفندهای دیگه برای نوشتن شرط و فیلتر کردن اعداد استفاده کرد.

شرط عدد بودن ورودی در php

<?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! ' ;

اگر سوالی در باره این شرط یا راههای بهتر و کاربردی تر دارید در نظرات همین  مطلب به اشتراک بگذارید.

موفق باشید.

ابزار قفل کردن کدهای php

2 Comments

  1. چقد سخته تو پی اچ پی
    تو پایتون راحت میشه با تابع isdigit چک کرد
    بدون دردسر

    number = 10
    if str(number).isdigit():;print(True)
    
    E.MKH

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *