• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ورودی فارسی در توابع is_numeric ,preg_match
#1
با سلام

من از دو تابع فوق تو پروژهام استفاده کردم که preg_match برای صحت شماره موبایل و از is_numeric برای مبلغ پول

الان متوچه شدم تو حالتی که کاربر اعداد رو فارسی ارسال میکنه خطا میده و اعداد فارسی رو نمیشناسه

دوستان میتونن راهنمایی کنن مشکل حل شه؟
  پاسخ
تشکر شده توسط :
#2
درود

کافیه اعداد فارسی رو قبل از برسی به انگلیسی تبدیل کنید

نمونه :

کد پی‌اچ‌پی:
<?
$number_input = '۱۲۳۴۵۶۷۸۹۰';

$number_input = str_replace(array('۱','۲','۳','۴','۵','۶','۷','۸','۹','۰'), array(1,2,3,4,5,6,7,8,9,0), $number_input);

if (is_numeric($number_input))
{
    echo "{$number_input} is Number AND OK :-)";
} else {
    echo "Not OK :-|";

  پاسخ
تشکر شده توسط : ayoubsys
#3
راهکار میلاد دقیق‌تره ولی اگر مشکلت سر فارسی بودنه عدده و مطمئنی که numeric هست کافیه settype کنی

کد پی‌اچ‌پی:
$var '۱۲۳';

settype($var"integer"); 
  پاسخ
تشکر شده توسط :
#4
(۱۳۹۶ اسفند ۲۴, ۰۷:۳۷ ب.ظ)MiladWorkShop نوشته: درود

کافیه اعداد فارسی رو قبل از برسی به انگلیسی تبدیل کنید

نمونه :

کد پی‌اچ‌پی:
<?
$number_input = '۱۲۳۴۵۶۷۸۹۰';

$number_input = str_replace(array('۱','۲','۳','۴','۵','۶','۷','۸','۹','۰'), array(1,2,3,4,5,6,7,8,9,0), $number_input);

if (is_numeric($number_input))
{
    echo "{$number_input} is Number AND OK :-)";
} else {
    echo "Not OK :-|";


این پیشنهاد بهتره ولی به شرطی که یه جور عدد داشتیم! توی فونت‌های فارسی و عربی ما چند جور ۵ داریم

اینو ببین:
https://github.com/intuxicated/PersianChar
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : ayoubsys
#5
(۱۳۹۶ اسفند ۲۶, ۰۵:۳۴ ب.ظ)molana نوشته:
(۱۳۹۶ اسفند ۲۴, ۰۷:۳۷ ب.ظ)MiladWorkShop نوشته: درود

کافیه اعداد فارسی رو قبل از برسی به انگلیسی تبدیل کنید

نمونه :

کد پی‌اچ‌پی:
<?
$number_input = '۱۲۳۴۵۶۷۸۹۰';

$number_input = str_replace(array('۱','۲','۳','۴','۵','۶','۷','۸','۹','۰'), array(1,2,3,4,5,6,7,8,9,0), $number_input);

if (is_numeric($number_input))
{
    echo "{$number_input} is Number AND OK :-)";
} else {
    echo "Not OK :-|";


این پیشنهاد بهتره ولی به شرطی که یه جور عدد داشتیم! توی فونت‌های فارسی و عربی ما چند جور ۵ داریم

اینو ببین:
https://github.com/intuxicated/PersianChar

حرف شما کاملا درسته ولی شما باید از همین روش برای چند مدل هم استفاده کنی تا تمام اطلاعات به انگلیسی تبدیل بشه
همچنین میتونی ورودی input رو به این صورت وارد کنی که فقط عدد بگیره
کد پی‌اچ‌پی:
<input type="number"
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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