تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ محمد حسین
ورود اعداد فارسی
جامعه جاوا اسکریپت ایجاد شده در ۰۱ تیر ۱۴۰۲

برای اینکه مرورگر با اعداد فارسی مثل اعداد انگلیسی رفتار کنه باید چیکار کرد.

عدد فارسی که وارد میکنم متن بعد از else رو نمایش میده.

سلام

لطفا قطعه کد مورد نظرتون را آپلود کنید

اما برای راهنمایی احتمالا اعداد فارسی را بعنوان استرینگ میگیرید و اعداد انگلیسی نامبر هستند

برای همین شرط شما را شامل نمی‌شوند

موفق باشید

مریم علی شاهی ۰۱ تیر ۱۴۰۲، ۱۸:۴۴

سلام

وقت بخیر

دقیقا همین طور هست که می‌فرمایید،برا اینکه اعداد فارسی رو "string" حساب نکنه،راهی هست؟

کد :

if (age > 20 && age <= 50) {
        alert("you can use our website");
      } else if (age > 50) {
        alert("Good morning");
      } else {
        alert("you can not use our website");
      }
محمد حسین ۰۲ تیر ۱۴۰۲، ۰۳:۲۵

سلام،

این موضوعی که در ادامه میارم، نیاز دارید جلسات بیشتری رو بگذرونید تا با replace و همچنین regex آشنا بشید منتها بهمین شکلی که مثال رو میارم میتونید کپی کنید و استفاده کنید.

قبل از if باید رقم هارو چک کنید اگر هر رقم فارسی بود، تبدیل به انگلیسی بشه.

نمونه مثال رو ببینید:

const e2p = s => s.replace(/\\d/g, d => '۰۱۲۳۴۵۶۷۸۹'[d])
const e2a = s => s.replace(/\\d/g, d => '٠١٢٣٤٥٦٧٨٩'[d])
const p2e = s => s.replace(/[۰-۹]/g, d => '۰۱۲۳۴۵۶۷۸۹'.indexOf(d))
const a2e = s => s.replace(/[٠-٩]/g, d => '٠١٢٣٤٥٦٧٨٩'.indexOf(d))
const p2a = s => s.replace(/[۰-۹]/g, d => '٠١٢٣٤٥٦٧٨٩'['۰۱۲۳۴۵۶۷۸۹'.indexOf(d)])
const a2p = s => s.replace(/[٠-٩]/g, d => '۰۱۲۳۴۵۶۷۸۹'['٠١٢٣٤٥٦٧٨٩'.indexOf(d)])
e2p("asdf1234") // asdf۱۲۳۴
e2a("asdf1234") // asdf١٢٣٤
p2e("asdf۱۲۳۴") // asdf1234
a2e("asdf١٢٣٤") // asdf1234
p2a("asdf۱۲۳۴") // asdf١٢٣٤
a2p("asdf١٢٣٤") // asdf۱۲۳۴

e2p: یعنی english to persian

e2a: یعنی english to arabic

یک پکیج جامع هم برای تبدیلات فارسی و انگلیسی وجود دارد که بسیار کارامد خواهد بود. داکیومنت persian-tools رو مطالعه کنید و به مثال هاش توجه کنید.

بهترین پاسخ
محسن موحد ۰۲ تیر ۱۴۰۲، ۱۶:۵۵