نمایش نتایج 1 تا 22 از 22

نام تاپیک: تبدیل اعداد انگلیسی به فارسی در JavaScript!

  1. #1
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    Arrow تبدیل اعداد انگلیسی به فارسی در JavaScript!

    سلام.

    این در حقیقت یه utility در js به شمار می یاد، برای اونهایی می خوان اعداد انگلیسی رو به اعداد پارسی تبدیل کنند.
    قبلا یه تاپیک در اینمورد مورد بود، در بخش ASP.NET اینبار در جاوااسکریپت پیاده سازی شده.

    توجه: شما مجازید فقط از string ها برای استفاده در کارتون ازش استفاده کنید، چون با این عمل خاصیت عددی اعداد تبدیل شده از بین می رود.

    /*
    * English digit to persian
    * Copyright(C) 2009 by Amin Akbari [ http://eAmin.me ]
    * Licensed under the MIT Style License [http://www.opensource.org/licenses/mit-license.php]
    *
    */

    String.prototype.toFaDigit = function() {
    return this.replace(/\d+/g, function(digit) {
    var ret = '';
    for (var i = 0, len = digit.length; i < len; i++) {
    ret += String.fromCharCode(digit.charCodeAt(i) + 1728);
    }

    return ret;
    });
    };

    // Sample:
    "012345srh6srh789".toFaDigit(); // ۰۱۲۳۴۵srh۶srh۷۸۹


    و برعکس (برای انجام محاسبات بر روی اعداد):

    String.prototype.toEnDigit = function() {
    return this.replace(/[\u06F0-\u06F9]+/g, function(digit) {
    var ret = '';
    for (var i = 0, len = digit.length; i < len; i++) {
    ret += String.fromCharCode(digit.charCodeAt(i) - 1728);
    }

    return ret;
    });
    };

    parseInt(str.toEnDigit(), 10);


    موفق باشید.
    آخرین ویرایش به وسیله eAmin : چهارشنبه 28 تیر 1391 در 11:54 صبح

  2. #2

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    میشه توضیح بدی این رو چطور باید استفاده کنیم ؟

  3. #3
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    اگر می خواید تمامی اعداد درون صفحه به اعداد فارسی تبدیل بشن از کد زیر استفاده کنید:
    window.onload = function() {
    var body = document.getElementsByTagName("body")[0];
    body.innerHTML = body.innerHTML.toPersian();
    };


    این روش بر روی تمامی اعداد سند شما تاثیر میزاره، یعنی اگر کلاس یا id برای تگهاتون در نظر گرفتید که در اونها عدد بکار رفته شده، اونها رو از کار میندازه.
    آخرین ویرایش به وسیله eAmin : چهارشنبه 28 تیر 1391 در 11:51 صبح

  4. #4
    کاربر جدید آواتار vahid67
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    پای کامپیوتر
    پست
    9

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    آقا این کدها رو کجای صفحه باید بگزاریم ؟؟؟؟؟ توی head توی body یا ؟؟؟؟؟
    من همچین تگی درست کردم و گذاشتم بین این دوتا کار نکرد ....
      <script language="javascript">

    </script>

  5. #5
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    عجیب بود خیلی!
    شما این رو بزارید بین تگ head به امید خدا جواب می گیرید:

    <script type="text/javascript" charset="utf-8">

    window.onload = function() {
    // argument true to arabic(!) num
    alert("012345srh6srh789".toFaDigit(true)); // ٠١٢٣٤٥srh٦srh٧٨٩

    // argument false|none to Persian(farsi) num
    alert("012345srh6srh789".toFaDigit()); // ۰۱۲۳۴۵srh۶srh۷۸۹
    };

    </script>
    آخرین ویرایش به وسیله eAmin : چهارشنبه 28 تیر 1391 در 11:52 صبح

  6. #6
    کاربر جدید آواتار vahid67
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    پای کامپیوتر
    پست
    9

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    امین جان مرسی ایندفه وقتی صفحه رو باز میکنم دو تا پیغام میاد که باید OK کنم تا بره توی سایت بعدش هم باز هم اعداد انگلیسی هستند.... پیغامش هم اینه
    ٠١٢٣٤٥srh٦srh٧٨٩


    یه بار هم بدون این دستورها گذاشتم هیچ اتفاقی نیافتاد....
    window.onload = function() {
    // argument true to arabic(!) num
    alert("012345srh6srh789".toFaDigit(true)); // ٠١٢٣٤٥srh٦srh٧٨٩

    // argument false|none to Persian(farsi) num
    alert("012345srh6srh789".toFaDigit()); // ۰۱۲۳۴۵srh۶srh۷۸۹
    };

  7. #7
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    این کدها در Notepad ویندوز کپی کنید و با فرمت HTML ذخیره کنید و نتیجه رو مشاهده کنید:

    <script type="text/javascript" charset="utf-8">

    String.prototype.toFaDigit = function() {
    return this.replace(/\d+/g, function(digit) {
    var ret = '';
    for (var i = 0, len = digit.length; i < len; i++) {
    ret += String.fromCharCode(digit.charCodeAt(i) + 1728);
    }

    return ret;
    });
    };

    window.onload = function() {
    var body = document.getElementsByTagName("body")[0];
    body.innerHTML = body.innerHTML.toFaDigit();
    };

    </script>

    <body>

    <p>329860v3908w09eymc</p>
    <p>536349vm83w4tegy</p>

    <p>4555585v9364v5</p>

    <p>457346b747b7b5444e5y</p>



    </body>
    آخرین ویرایش به وسیله eAmin : شنبه 06 مرداد 1397 در 13:39 عصر دلیل: اون زمان اعصاب مصاب نداشتیم ������������������������������������

  8. #8

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    با سلام
    یه سوال فوری دارم:
    اگه بخوام بر عکس این کار را انجام بدم باید چه تغییری تو این کد بدم؟؟؟؟؟
    یعنی تو صفحه اعداد فارسی دارم و می خوام به انگلیسی تبدیل بشه.

    خیلی اورژانسیه
    ممنونم

  9. #9
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    جواب در پست اول هست ������
    آخرین ویرایش به وسیله eAmin : شنبه 06 مرداد 1397 در 13:33 عصر

  10. #10
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1385
    پست
    30

    Question نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    نقل قول نوشته شده توسط eAmin مشاهده تاپیک
    اگر می خواید تمامی اعداد درون صفحه به اعداد فارسی تبدیل بشن از کد زیر استفاده کنید:
    window.onload = function() {
    var body = document.getElementsByTagName("body")[0];
    body.innerHTML = body.innerHTML.toPersian();
    };

    امتحان کنید و feedback بفرستید.
    سلام خسته نباشید من می خواهم از این کد این طوری استفاده کنم که به جای اینکه عداد داخل تگ body رو برام فارسی کنه عداد داخل هر چندتا تگ Span رو برام فارسی کنه و وقتی عبارت body رو تویه کد زیر به جاش span می زارم کار نمی کنه فقط عداد اولین تگ span صفحه را فارسی می کنه چی کار باید کرد

    var body = document.getElementsByTagName("span")[0];

  11. #11
    کاربر دائمی آواتار eAmin
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Node.js
    پست
    447

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    نقل قول نوشته شده توسط desiran مشاهده تاپیک
    سلام خسته نباشید من می خواهم از این کد این طوری استفاده کنم که به جای اینکه عداد داخل تگ body رو برام فارسی کنه عداد داخل هر چندتا تگ Span رو برام فارسی کنه و وقتی عبارت body رو تویه کد زیر به جاش span می زارم کار نمی کنه فقط عداد اولین تگ span صفحه را فارسی می کنه چی کار باید کرد

    var body = document.getElementsByTagName("span")[0];
    سلام

    خب چیزی عجیبی نیست، همونطور که مشخصه خروجی getElementsByTagName آرایه است، و شما باید برای اینکه تمامی المنتهای پیدا شده رو پیمایش کنید باید از حلقه کمک بگیرید.
    var ele = document.getElementsByTagName('span');
    for (var i=0; i < ele.length; i++) {
    ele[i].innerHTML = ele[i].innerHTML.toPersian();
    }

  12. #12
    کاربر تازه وارد آواتار nPad.Net
    تاریخ عضویت
    آذر 1388
    محل زندگی
    شیراز
    پست
    56

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    نقل قول نوشته شده توسط eAmin مشاهده تاپیک
    اگر می خواید تمامی اعداد درون صفحه به اعداد فارسی تبدیل بشن از کد زیر استفاده کنید:
    window.onload = function() {
    var body = document.getElementsByTagName("body")[0];
    body.innerHTML = body.innerHTML.toPersian();
    };

    امتحان کنید و feedback بفرستید.
    با تشکر از دوستمون eAmin
    تابع رو اجرا کردم اگه کل page فقط متن باشه خیلی خوب جواب میده ولی چون تمام اعداد رو فارسی میکنه کل سایزهایی (Width Or Height)که برا کنترل های صفحه انتخاب می کنیم رو از حالت valid خارج میکنه در نتیجه همه کنترل ها با size پیش فرض نشون داده میشن!چطور میتونیم این Bug رو رفع کنیم؟


    ممنون از راهنماییتون

  13. #13

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    سلام من وقتي كد زير رو مي ذارم تمام سايز فونت ها بهم ميريزه و رنگ هاشونم يكي ميشه

    من مي خوام يك كدي داشته باشم كه فقط اعداد رو فارسي كنه بدون دخالت در حروف
    كداي ديگه هم هر جا ميذارم بصورت نوشته ميشه نه دستور . من خيلي مبتدي هستم

    <script type="text/javascript" charset="utf-8">

    String.prototype.toPersian = String.prototype.toFaDigit = function(a) {
    return this.replace(/\d+/g, function(digit) {
    var digitArr = [], pDigitArr = [];
    for (var i = 0, len = digit.length; i < len; i++) {
    digitArr.push(digit.charCodeAt(i));
    }

    for (var j = 0, leng = digitArr.length; j < leng; j++) {
    pDigitArr.push(String.fromCharCode(digitArr[j]+((!!a && a == true) ? 1584 : 1728)));
    }

    return pDigitArr.join('');
    });
    };


    window.onload = function() {
    var body = document.getElementsByTagName("body")[0];
    body.innerHTML = body.innerHTML.toPersian();
    };

    </script>

  14. #14

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    سلام.
    من هم مشکل nPad.Net و rakhshanmt رو دارم .. کسی میتونه این مشکلات رو رفع کنه ؟؟؟؟؟ خیلی لازمه!!!

  15. #15

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    نقل قول نوشته شده توسط nPad.Net مشاهده تاپیک
    با تشکر از دوستمون eAmin
    تابع رو اجرا کردم اگه کل page فقط متن باشه خیلی خوب جواب میده ولی چون تمام اعداد رو فارسی میکنه کل سایزهایی (Width Or Height)که برا کنترل های صفحه انتخاب می کنیم رو از حالت valid خارج میکنه در نتیجه همه کنترل ها با size پیش فرض نشون داده میشن!چطور میتونیم این Bug رو رفع کنیم؟


    ممنون از راهنماییتون
    خب این اتفاق طبیعیه. چون از همه چیز در html به صورت متنی دیده می شه. یک راهش اینه که از css و class برای اندازه دادن به کنترل ها و هر چیزی تو صفحه استفاده کنید. البته دقت کنید که css ای که تعریف می کنید رو به صورت درون خطی تعریف نکنید و حتما از کلاس استفاده کنید.

  16. #16
    کاربر جدید
    تاریخ عضویت
    مهر 1389
    محل زندگی
    اصفهان
    پست
    10

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    سلام
    من این کد را استفاده کردم در حالت عادی (وقتی توی صفحه گیرید نباشد) خیلی خوب جواب می ده اما با گیرید اسکین گیرید رو برمی داره و صفحه حالت ساده ای پیدا می کنه
    با این کد چطور می شه اعداد توی گیرید را فارسی کرد؟

  17. #17

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    درود

    با کد زیر میتونید تمام اعداد رو توی صفحه فارسی کنید



    String.prototype.toPersian = String.prototype.toFaDigit = function (a) {
    return this.replace(/\d+/g, function (digit) {
    var digitArr = [], pDigitArr = [];
    for (var i = 0, len = digit.length; i < len; i++) {
    digitArr.push(digit.charCodeAt(i));
    }
    for (var j = 0, leng = digitArr.length; j < leng; j++) {
    pDigitArr.push(String.fromCharCode(digitArr[j] + ((!!a && a == true) ? 1584 : 1728)));
    }
    return pDigitArr.join('');
    });
    };

    function TraceNodes(Node) {
    if (Node.nodeType == 3) //TextNode
    Node.nodeValue = Node.nodeValue.toPersian();
    else
    for (var i = 0; i < Node.childNodes.length; i++)
    TraceNodes(Node.childNodes[i]);
    }
    TraceNodes(document);


  18. #18

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    سلام
    من از اين كد استفاده كردم ولي يه مشكلي هست...اونم اينه كه جدولام رو خرا ميكنه..
    ميشه كمك كنيد؟؟؟؟

    فكر كنم از لودي هست كه تو بادي ازش استفاده شده

  19. #19

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    نقل قول نوشته شده توسط eAmin مشاهده تاپیک
    اگر می خواید تمامی اعداد درون صفحه به اعداد فارسی تبدیل بشن از کد زیر استفاده کنید:
    window.onload = function() {
    var body = document.getElementsByTagName("body")[0];
    body.innerHTML = body.innerHTML.toPersian();
    };

    امتحان کنید و feedback بفرستید.

    با سلام
    یه سئوال داشتم اگه بخوام فقط عدد های بین تگها (نه داخل تگها) یعنی بین علامتهای > < به فارسی تبدیل بشن چیکار باید بکنم ؟
    چون همونطور که مستحضرید ما داخل تگها value هایی داریم که مقدار آنها در دیتابیس ریخته می شود با تبدیل کد اعداد به مشکل بر میخوریم . ولی اون چیزی که نمایش داده میشه داخل علامات بزرگتر و کوچکتره .
    با تشکر

  20. #20
    کاربر دائمی آواتار id1385
    تاریخ عضویت
    آبان 1387
    محل زندگی
    توی رویاهام!!
    پست
    467

    Smile نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    سلام
    دوستان یک مورد برای جاوا اسکریپت نوشتم که میزارم شاید بدردتون بخوره!
    توی این اسکریپت دو فانکشن نوشاتم که یکی برای تبدیل اعداد به فارسی هست و دیگری برای جدا کردن اعداد بصورت سه تایی است که درمورد پول بکار میرود.

    شکل خروجی :

    Farsi Numbers = ۱۲۳۴۵۶۷۸۹۰
    Splited Numbers1 = 1/234/567/890
    Splited Numbers2 = ۱/۲۳۴/۵۶۷/۸۹



    فانکشن تبدیل اعداد به فارسی :


    function Number2Farsi(Numbers){ // Output = (1234567890 => ۱۲۳۴۵۶۷۸۹۰)
    /*
    Please Dont Remove No Line : Coded By Ata Amini(id1385)
    SAMPLE 1 = Number2Farsi('1234567890');
    SAMPLE 2 = Number2Farsi('Ata Amini: 09123532116');
    SAMPLE 3 = var MyNumbers = '1234567890'; Number2Farsi(MyNumbers);
    *///Defintion(s)
    var NumbersLen = Numbers.length;
    var CurentDigit = ''; // store current digit in for lap
    var FinalDigits = ''; // store converted digit in for lap
    var num0 = "۰";
    var num1 = "۱";
    var num2 = "۲";
    var num3 = "۳";
    var num4 = "۴";
    var num5 = "۵";
    var num6 = "۶";
    var num7 = "۷";
    var num8 = "۸";
    var num9 = "۹";
    if (NumbersLen <= 0 ){
    return num0;}//if
    else if (NumbersLen > 0 ){
    for (var i=0 ; i <= NumbersLen-1 ; i++){
    CurentDigit = Numbers.substring(i,i+1);
    FinalDigits += ConvertNum(CurentDigit);
    }//for
    }//else
    function ConvertNum(Num){
    switch (Num) {
    case '0': return num0; break;
    case '1': return num1; break;
    case '2': return num2; break;
    case '3': return num3; break;
    case '4': return num4; break;
    case '5': return num5; break;
    case '6': return num6; break;
    case '7': return num7; break;
    case '8': return num8; break;
    case '9': return num9; break;
    default: return Num; // End
    }//switch
    }//ConvertNum
    return FinalDigits; // Final Return
    }//Number2Farsi



    فانکشن جداکردن اعداد:

    function SplitDigit(Digit,Splictor){
    /*
    Please Dont Remove No Line : Coded By Ata Amini(id1385)
    Not Allwed In Splictor "\"
    SAMPLE = SplitDigit('1200000',',');
    SAMPLE = Number2Farsi(SplitDigit('1200000','.'));
    *///DEFINTION(S)
    var DigitsLen = Digit.length;
    var CurrentDigit = '';
    var FinalDigit = '';
    var DefaultSplictor = '';
    var DigitArray = new Array();
    var DigitREV = new Array();
    var N = 0;
    // SPLICTOR STATE
    if (Splictor == "") { DefaultSplictor = ','} else { DefaultSplictor = Splictor; }
    // SUBSTRING
    for (var i=0 ; i <= DigitsLen-1 ; i++){
    CurrentDigit = Digit.substring(i,i+1); //SUBSTRING DIGITS
    DigitArray += CurrentDigit; // SETTING IN ARRAY
    }// FOR
    // REV
    for (var i=0 ; i <= DigitArray.length -1 ; i++){
    var K = (DigitArray.length - 1) - i ;
    N++;
    if (N == 1 || N == 2 || N == 3){
    DigitREV += DigitArray[K];} else if (
    N >= 3) {
    N = 1; DigitREV += DefaultSplictor + DigitArray[K];
    }
    }// FOR
    // Final
    for (var i=0 ; i <= DigitREV.length-1 ; i++){
    var L = (DigitREV.length - 1) - i ;
    FinalDigit += DigitREV [L];
    }// FOR

    return FinalDigit; // Output
    }



    در آخر هم براتون اتچ میکنم.


    موفق باشین.
    فایل های ضمیمه فایل های ضمیمه

  21. #21
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    گرگان
    پست
    473

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

    نقل قول نوشته شده توسط eAmin مشاهده تاپیک
    شما به محتوای اون دو پیغام توجه کردید؟ آیا فهمیدید چه اتفاقی افتاد؟ اونها فقط یک مثال بودن تا شما متوجه بشید که کد مربوطه مشکل خاصی نداره.

    دوست عزیز، عذر می خوام ولی اینجا یک مکان تخصصی هست، شما باید مطالب پیش پا افتاده رو از طریق کتاب خودندن و جستجو در اینترنت یاد بگیرید، نه اینکه چون اینجا صرفا یک انجمن فارسی هست، بیاید و درخواست کد کنید ( البته کد برای عموم گذاشته شده! به اضافه طرز استفاده از اون. ) و یا ...
    اگر شما کمی JavaScript بلد بودید با یک نگاه می تونستید از این کد استفاده کنید.

    امیدوارم به بنده خرده نگیرید، در هر صورت برای آخرین شمارو راهنمایی می کنم.

    </body>
    [/CODE]
    دوستان برای اینکه مشکلاتشون حل بشه به جامعه برنامه نویس مراجعه میکنن، اینجا برای سوال کردن و یاد گرفتنه
    خیلی خوبه که وقتی به دیگران آموزش میدیم این کار رو با حوصله و با جزییات انجام بدیم

  22. #22

    نقل قول: تبدیل اعداد انگلیسی به فارسی در JavaScript!

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

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •