یک پلاگین jQuery برای تبدیل اعداد به فارسی

omid_p30

Member
یک پلاگین jQuery برای تبدیل اعداد به فارسی (به روز شده در تاریخ ۱۳۹۱/۱۱/۷)

سلام به همه دوستان
یه پلاگین کوچیک jQuery برای تبدیل اعداد داخل صفحه وب به فارسی توی یکی از کارام نوشتم گفتم شاید به درد بقیه هم بخوره.
اسمش هم گذاشتم persiaNumber
برای استفاده ابتدا کدهای زیر رو به تگ head اضافه کنید.

PHP:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="persianumber.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.persianumber').persiaNumber();
});
</script>

داخل body هم هر بخشی که تمایل دارین اعداد داخلش فارسی باشه رو با کلاس persianumber تعریف کنید.
PHP:
<div class="persianumber">
123.456
</div>

این پلاگین رو از اینجا می‌تونید دانلود کنید.
دریافت پلاگین persiaNumber

حجم فایل: 2 کیلو بایت

لطفا بعد از استفاده اشکالات یا پیشنهادات خودتون هم بگین.
======================================
سلامی دوباره
پلاگینی که نوشته بودم رو به روز کردم. از همون لینک بالا می‌توانید دریافت کنید.
نسخه قبلی یه مشکلی داشت که بر طرف شد. ضمن اینکه حجم فایل هم به 357 بایت کاهش یافت.
اما مشکل این بود که در نسخه قبلی با DOM Object کار می‌کردم و این باعث می‌شد تا اون عنصر صفحه که تابع persiaNumber روی اون کار می‌کنه اگر رویدادی به اون bind شده بود از بین بره. برای همین مجبور بودم bind رویدادها به عناصری که تابع persiaNumber روی اونها کار می‌کنه رو بعد از صدا زدن تابع persiaNumber انجام بدم.
تو این نسخه جدید این مشکل برطرف شده ضمن اینکه با الگوریتم جدیدی که استفاده شده حجم فایل هم به 357 بایت کاهش پیدا کرد.

=====================================
بازم سلام
با تشکر از Username
بابت گزارش خطای که داشتی. موردی که گفته شده بود الان برطرف شده و نسخه جدید رو الان می‌تونید دریافت کنید. ضمن اینکه دو تا قابلیت دیگه هم به پلاگین اضافه کردم.​
1. اول اینکه اگر پارامتر "ar" رو به تابع persiaNumber ارسال کنید، اعداد رو به معادل عربی تبدیل می‌کنه.
2. دوم اینکه توابع parseInt و parseFloat هم override کردم و این توابع الان اعداد فارسی و عربی رو نیز به معادل عددی انگلیسی تبدیل می‌کنه.
 
آخرین ویرایش:

eAmin

Well-Known Member
ممنون خیلی خوب بود.
روشی هم که من استفاده میکردم در اینجا موجود هست، انگلیسی به فارسی و بالعکس. البته پلاگین jQuery نیست و با JavaScript به تنهایی میشه ازش استفاده کرد.
 

omid_p30

Member
ممنون خیلی خوب بود.
روشی هم که من استفاده میکردم در اینجا موجود هست، انگلیسی به فارسی و بالعکس. البته پلاگین jQuery نیست و با JavaScript به تنهایی میشه ازش استفاده کرد.

ممنون که روش خودت رو معرفی کردی.
البته ویژگی‌های پلاگین یادم رفت بگم.

  • پلاگین persiaNumber تنها اعداد موجود در محتوای اصلی یک صفحه وب رو اصلاح می‌کنه. به طور مثال در کد زیر، اعداد استفاده شده در ویژگی herf تگ <a> و نام کلاس name-1 ، برای صحت کارایی، بدون تغییر می مونه.
PHP:
<div class="persianumber">123.456
    <div class="name-1">
        <a href="http://forum.majidonline.com/newreply.php?do=newreply&p=1228075"> persiaNumber </a>
    </div>
</div>


  • این پلاگین کاراکتر ممیز انگلیسی رو هم با معادل فارسی جایگزین می‌کنه.
 

eAmin

Well-Known Member
البته ویژگی‌های پلاگین یادم رفت بگم.
البته حدث میزدم بعلت حجم بیشترش امکانات بیشتری هم داشته باشه و با داشتن این امکانات بدون هیچ درد سر و محدودیتی میشه ازش استفاده کرد. ;)
 

Username

New Member
ممنون بابت این پلاگین، فقط یک مشکلی دیدم گفتم گزارش بدم، اونم اینکه این پلاگین اعداد در inline css رو هم جایگزین میکنه که اصولا نباید این اتفاق بیفته و باعث اشکال میتونه بشه در قالب... .
مثلا در وسط صفحه اگر داشته باشیم:

کد:
<style type="text/css">
    .blah_class{
        left: 55px;
    }
</style>

عدد 55 هم جایگزین میشه با اعداد فارسی که مشکل ایجاد میکنه.

اما ممنون بابت پلاگین، در حد عالی بود
 

omid_p30

Member
ممنون بابت این پلاگین، فقط یک مشکلی دیدم گفتم گزارش بدم، اونم اینکه این پلاگین اعداد در inline css رو هم جایگزین میکنه که اصولا نباید این اتفاق بیفته و باعث اشکال میتونه بشه در قالب... .
مثلا در وسط صفحه اگر داشته باشیم:

کد:
<style type="text/css">
    .blah_class{
        left: 55px;
    }
</style>

عدد 55 هم جایگزین میشه با اعداد فارسی که مشکل ایجاد میکنه.

اما ممنون بابت پلاگین، در حد عالی بود

ممنون بابت مطلبی که گفتی. تست که کردم حرفت درست بود. الان اصلاح کردم. نسخه جدید رو میتونی از github بگیری.
 

Username

New Member
همین الان نسخه جدید رو در سایتم جایگزین کردم، کار نمیکنه، firebug میگه:
کد:
TypeError: e.replace is not a function persianumber.min.js line 1
 

sh_ali355

New Member
با سلام و تشکر از زحمات شما
من با asp.net سایتی ساختم که با روش شما در همه بروزرها جواب می دهد جز اینترنت اکسپرورر
اگر ممکنه راهنمایی بفرمایید.
البته در سایت خود از jquery در جاهای دیگه هم استفاده کرده ام.
قبلا از حسن توجه شما متشکرم
 

omid_p30

Member
با سلام و تشکر از زحمات شما
من با asp.net سایتی ساختم که با روش شما در همه بروزرها جواب می دهد جز اینترنت اکسپرورر
اگر ممکنه راهنمایی بفرمایید.
البته در سایت خود از jquery در جاهای دیگه هم استفاده کرده ام.
قبلا از حسن توجه شما متشکرم
سلام
من پلاگین رو با ie8 هم تست کردم. مشکلی نداره. Ie شما نسخه چنده؟
 

Username

New Member
سلام،

یک قابلیت دیگه که میتونه این پلاگین رو بهتر کنه دریافت exception list هست، به عنوان مثال من میخوام تمامی اعدادم در سایت فارسی بشن اما اعداد در مدل محصولات فارسی نشن و انگلیسی باقی بمونن، اگر میتونستیم در هنگام فراخوانی یک لیست از کلاسهایی که میخوایم اعداد در اونها فارسی نشند را بذاریم دیگه عالی میشد... .

با سپاس
 

omid_p30

Member
سلام،

یک قابلیت دیگه که میتونه این پلاگین رو بهتر کنه دریافت exception list هست، به عنوان مثال من میخوام تمامی اعدادم در سایت فارسی بشن اما اعداد در مدل محصولات فارسی نشن و انگلیسی باقی بمونن، اگر میتونستیم در هنگام فراخوانی یک لیست از کلاسهایی که میخوایم اعداد در اونها فارسی نشند را بذاریم دیگه عالی میشد... .

با سپاس

سلام نیازی به این کار توی پلاگین نیست. با استفاده از تابع ()not توی jquery می‌تونی کاری که میخای رو انجام بدی.
رجوع شود به مستندات سایت jQuery درباره تابع not
 

mohammadjon

New Member
سلام آیا امکان این هست که اعداد رو توی صفحه فارسی نشون بده ولی وقتی اعداد رو کاربر کپی میکنه همون انگلیسی باشه.
مثلا در نظر بگیرید من میخوام شناسه تراکنش در صفحه به صورت ٤٠٧٢٢٨١٢ ولی وقتی میخواد این شناسه رو توی جایی کپی کنه 40722812 باشه. ؟
 

fanoodi

New Member
سلام من برای استفاده از مترجم نیاز دارم اعداد داخل تکست باکس textbox type=text که کاربر درج میکنه فارسی درج شوند فقط برای div کار میکنه و اعداد داخلش رو فارسی میکنه روی تکست باکس تاثیری نداره لطفا راهنماییم کنید ممنون $('input').persiaNumber('fa');
ایمیل : [email protected]
 

ava282009

Member
مهاجرت به آمریکا یکی از موضوعات پیچیده و چالش‌برانگیز است. در ادامه، چند نکته کلی در مورد مهاجرت به امریکا ذکر شده است:

1. **انواع ویزا:**
- **ویزای دائم (Immigrant Visa):** برای افرادی که قصد اقامت دائم در ایالات متحده را دارند.
- **ویزای غیرمهاجر (Nonimmigrant Visa):** برای افرادی که قصد اقامت موقت دارند، مانند تحصیل، کار، گردشگری، و ...
- **Green Card:** یکی از مهمترین ابزارهای اخذ اقامت دائم در امریکا.

2. **لاتاری گرین کارد (Green Card Lottery):**
- برنامه لاتاری گرین کارد سالانه برای افراد از برخی کشورها امکان اخذ گرین کارد را فراهم می‌کند.

3. **تحصیلات:** تحصیل در آمریکا
- تحصیل در دانشگاه‌ها یا مشارکت در برنامه‌های تحصیلی ممکن است به مهاجرت شما کمک کند.

4. **کار و شغل:**
- برای کار در امریکا، نیاز به مجوز کار و یا استفاده از برنامه‌های مهاجرت کاری دارید.

5. **زبان انگلیسی:**
- آزمون‌های زبان انگلیسی ممکن است برای برخی ویزاها یا مراحل مهاجرتی الزامی باشند.

6. **ترتیبات مالی:**
- اثبات توانایی مالی برای زندگی در امریکا از جمله الزامات مهم است.

7. **مشاوره حقوقی و مهاجرتی:**
- مشاوره از وکلای مهاجرت یا مشاوران مهاجرتی می‌تواند در انتخاب مسیر مناسب و ارائه مدارک به شما کمک کند.

8. **پناهندگی:**
- اگر درخواست پناهندگی دارید، باید به رویه‌ها و مقررات مربوط به پناهندگی توجه داشته باشید.

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

جدیدترین ارسال ها

بالا