• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چک کردن رشته اعداد
#1
سلام

من میخوام از کاربر یه سری اعداد رو به صورت رشته بگیرم. به این صورت

123,45,12,567

از کاربر میخوام اعداد رو با , از هم جدا کنه و توی یه فیلد تکست باکس قرار بده و بفرسته.

حالا میخوام بررسی کنم که آیا واقعا عدد وارد شده یا نه و پارامتر های اضافی رو فیلتر کنم. راهی که به نظرم رسید با استفاده از یه سری توابع با قاعده و ... رشته ورودی رو پردازش کنم و موارد اشتباه رو از توش حدف کنم. شاید لازم باشه اطلاعات وارد یک آرایه بشه و اونجا یه سری پردازش روش انجام بشه بعد از آرایه خارج بشه

میخواستم بدونم غیر از این تابعی هم هست که مستقیم این اعداد رو بررسی کنه

در دیتابیس هم قراره دقیقا 123,45,12,567 ذخیره بشه

خودم این تابع رو نوشتم

کد:
function check($inputs){
    $inputs = htmlspecialchars($inputs);
    $inputs = explode(',', $inputs);
    foreach ($inputs as $input){
        $input = filter_var( $input, FILTER_SANITIZE_NUMBER_INT );
        if(!empty($input)) {
            $output[] = $input;
        }
    }
    $output = array_unique($output);
    $output = implode(",", $output);
    return $output;
}
  پاسخ
تشکر شده توسط :
#2
http://php.net/manual/en/function.preg-match.php
تابعی نیست از پیش ساخته که مشخص کنه عدد بین رشته هست یا نه. برای همین مجبوری از عبارات باقاعده استفاده کنی.

http://www.php.net/manual/en/function.ctype-alnum.php هم هست که چک میکنه اگر عدد و حروف بود فقط. میتونی از همینم استفاده کنی و با explode() کاما هارو جدا کنی و آرایه بسازی بعد مقادیر آرایه رو با همین تابع چک کنی.
غایب
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان