How JS split works on arabic plus english number strings?Direction (LTR/RTL): What's the difference between CSS direction and HTML direction attribute?Why does Javascript string replace reverse the word order for right to left languages?How do JavaScript closures work?How can I format numbers as currency string in JavaScript?How to check empty/undefined/null string in JavaScript?How can I convert a string to boolean in JavaScript?What's the difference between using “let” and “var”?How can I get query string values in JavaScript?How do I make the first letter of a string uppercase in JavaScript?How to replace all occurrences of a string?How to check whether a string contains a substring in JavaScript?

Does the app TikTok violate trademark?

A word that refers to saying something in an attempt to anger or embarrass someone into doing something that they don’t want to do?

Convert a string of digits from words to an integer

Calculate the Ultraradical

Assembly of PCBs containing a mix of SMT and thru-hole parts?

As a team leader is it appropriate to bring in fundraiser candy?

Why does my browser attempt to download pages from http://clhs.lisp.se instead of viewing them normally?

What is the logical distinction between “the same” and “equal to?”

Impossible violin chord, how to fix this?

How to identify whether a publisher is genuine or not?

Garage door sticks on a bolt

What should I consider when deciding whether to delay an exam?

Would a horse be sufficient buffer to prevent injury when falling from a great height?

French license plates

Can an energy drink or chocolate before an exam be useful ? What sort of other edible goods be helpful?

When did Unix stop storing passwords in clear text?

Is it possible for a company to grow but its stock price stays the same or decrease?

Sci-fi movie with one survivor and an organism(?) recreating his memories

Is "until mine is on tight" an idiom?

I transpose the source code, you transpose the input!

Whaling ship logistics

Avoiding dust scattering when you drill

What are examples of EU policies that are beneficial for one EU country, disadvantagious for another?

Can I exile my opponent's Progenitus/True-Name Nemesis with Teferi, Hero of Dominaria's emblem?



How JS split works on arabic plus english number strings?


Direction (LTR/RTL): What's the difference between CSS direction and HTML direction attribute?Why does Javascript string replace reverse the word order for right to left languages?How do JavaScript closures work?How can I format numbers as currency string in JavaScript?How to check empty/undefined/null string in JavaScript?How can I convert a string to boolean in JavaScript?What's the difference between using “let” and “var”?How can I get query string values in JavaScript?How do I make the first letter of a string uppercase in JavaScript?How to replace all occurrences of a string?How to check whether a string contains a substring in JavaScript?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








9















When I tried to split,



"بحد-8635".split('-') 


then js gives me different result,



[0] - بحد,
[1] - 8635





console.log("بحد-8635".split('-'))





and when I tried to split,



"2132-سسس".split('-') 


It gives me different result,



[0] - 2132
[1] - سسس





console.log("2132-سسس".split('-'))





How is this happening? How can this be implemented correctly?










share|improve this question


























  • I am unable to replicate the issue onecompiler.com/javascript/3v3946t3r It's splitting properly for the first string for me

    – karthikdivi
    8 hours ago












  • tried it in chrome console it is showing different result.

    – Saurabh Arora
    8 hours ago











  • I tried this in Chrome Dev Console and it does seem to be giving different results. Quite interesting.

    – Saharsh
    8 hours ago







  • 1





    Possible duplicate Why does Javascript string replace reverse the word order for right to left languages?

    – Code Maniac
    7 hours ago

















9















When I tried to split,



"بحد-8635".split('-') 


then js gives me different result,



[0] - بحد,
[1] - 8635





console.log("بحد-8635".split('-'))





and when I tried to split,



"2132-سسس".split('-') 


It gives me different result,



[0] - 2132
[1] - سسس





console.log("2132-سسس".split('-'))





How is this happening? How can this be implemented correctly?










share|improve this question


























  • I am unable to replicate the issue onecompiler.com/javascript/3v3946t3r It's splitting properly for the first string for me

    – karthikdivi
    8 hours ago












  • tried it in chrome console it is showing different result.

    – Saurabh Arora
    8 hours ago











  • I tried this in Chrome Dev Console and it does seem to be giving different results. Quite interesting.

    – Saharsh
    8 hours ago







  • 1





    Possible duplicate Why does Javascript string replace reverse the word order for right to left languages?

    – Code Maniac
    7 hours ago













9












9








9


1






When I tried to split,



"بحد-8635".split('-') 


then js gives me different result,



[0] - بحد,
[1] - 8635





console.log("بحد-8635".split('-'))





and when I tried to split,



"2132-سسس".split('-') 


It gives me different result,



[0] - 2132
[1] - سسس





console.log("2132-سسس".split('-'))





How is this happening? How can this be implemented correctly?










share|improve this question
















When I tried to split,



"بحد-8635".split('-') 


then js gives me different result,



[0] - بحد,
[1] - 8635





console.log("بحد-8635".split('-'))





and when I tried to split,



"2132-سسس".split('-') 


It gives me different result,



[0] - 2132
[1] - سسس





console.log("2132-سسس".split('-'))





How is this happening? How can this be implemented correctly?






console.log("بحد-8635".split('-'))





console.log("بحد-8635".split('-'))





console.log("2132-سسس".split('-'))





console.log("2132-سسس".split('-'))






javascript arabic






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 7 hours ago









Casper

8535 silver badges14 bronze badges




8535 silver badges14 bronze badges










asked 8 hours ago









Saurabh AroraSaurabh Arora

718 bronze badges




718 bronze badges















  • I am unable to replicate the issue onecompiler.com/javascript/3v3946t3r It's splitting properly for the first string for me

    – karthikdivi
    8 hours ago












  • tried it in chrome console it is showing different result.

    – Saurabh Arora
    8 hours ago











  • I tried this in Chrome Dev Console and it does seem to be giving different results. Quite interesting.

    – Saharsh
    8 hours ago







  • 1





    Possible duplicate Why does Javascript string replace reverse the word order for right to left languages?

    – Code Maniac
    7 hours ago

















  • I am unable to replicate the issue onecompiler.com/javascript/3v3946t3r It's splitting properly for the first string for me

    – karthikdivi
    8 hours ago












  • tried it in chrome console it is showing different result.

    – Saurabh Arora
    8 hours ago











  • I tried this in Chrome Dev Console and it does seem to be giving different results. Quite interesting.

    – Saharsh
    8 hours ago







  • 1





    Possible duplicate Why does Javascript string replace reverse the word order for right to left languages?

    – Code Maniac
    7 hours ago
















I am unable to replicate the issue onecompiler.com/javascript/3v3946t3r It's splitting properly for the first string for me

– karthikdivi
8 hours ago






I am unable to replicate the issue onecompiler.com/javascript/3v3946t3r It's splitting properly for the first string for me

– karthikdivi
8 hours ago














tried it in chrome console it is showing different result.

– Saurabh Arora
8 hours ago





tried it in chrome console it is showing different result.

– Saurabh Arora
8 hours ago













I tried this in Chrome Dev Console and it does seem to be giving different results. Quite interesting.

– Saharsh
8 hours ago






I tried this in Chrome Dev Console and it does seem to be giving different results. Quite interesting.

– Saharsh
8 hours ago





1




1





Possible duplicate Why does Javascript string replace reverse the word order for right to left languages?

– Code Maniac
7 hours ago





Possible duplicate Why does Javascript string replace reverse the word order for right to left languages?

– Code Maniac
7 hours ago












3 Answers
3






active

oldest

votes


















4
















It depends on how you type the string(left to right / right to left). In the provided question, "2132-سسس" was typed from left to right and "8635-بحد" was typed from right to left.



Check the below snippet.






console.log("Typed left to right:");
console.log("2132-سسس".split('-'));
console.log("8635-بحد".split('-'));

console.log("---------------");

console.log("Typed right to left as arabians follow:");
console.log("سسس-2132".split('-'));
console.log("بحد-8635".split('-'));








share|improve this answer

























  • ok understood. But this string is coming in response from backend to frontend and it is giving random result. How can this be done?

    – Saurabh Arora
    7 hours ago






  • 4





    Thanks for answer. Can you elaborate on topic about "typed left to right and reverse"? They both looks eerily same with a glance.

    – Saharsh
    7 hours ago












  • @Saharsh You can use dir="ltr" or dir="rtl" to initialize the direction. Follow the link for a clear understanding: w3.org/International/questions/qa-html-dir

    – Ramesh
    3 hours ago


















0
















As mentioned in other answer this depends on how your string is typed (ltr or rtl),



To understand the difference set dir attribute on input and then split the value






function handleLTR() 
let element = document.getElementById('default').value
console.log(element.split('-'))


function handleRTL()
let element = document.getElementById('rtl').value
console.log(element.split('-'))

<div>
<input id='default' value=''></input>
<button onClick=handleLTR()>Handle LTR</button>
</div>
<div>
<input id='rtl' dir="rtl" value=''></input>
<button onClick=handleRTL()>Handle RTL</button>
</div>





To read about
What is difference between RTL and LTR






share|improve this answer


































    -1
















    Try this




    console.log("2132-سسس".split('-').sort());
    console.log("8635-بحد".split('-').sort());
    console.log("سسس-2132".split('-').sort());
    console.log("1-حد".split('-').sort());








    share|improve this answer



























      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );














      draft saved

      draft discarded
















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f58074813%2fhow-js-split-works-on-arabic-plus-english-number-strings%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      4
















      It depends on how you type the string(left to right / right to left). In the provided question, "2132-سسس" was typed from left to right and "8635-بحد" was typed from right to left.



      Check the below snippet.






      console.log("Typed left to right:");
      console.log("2132-سسس".split('-'));
      console.log("8635-بحد".split('-'));

      console.log("---------------");

      console.log("Typed right to left as arabians follow:");
      console.log("سسس-2132".split('-'));
      console.log("بحد-8635".split('-'));








      share|improve this answer

























      • ok understood. But this string is coming in response from backend to frontend and it is giving random result. How can this be done?

        – Saurabh Arora
        7 hours ago






      • 4





        Thanks for answer. Can you elaborate on topic about "typed left to right and reverse"? They both looks eerily same with a glance.

        – Saharsh
        7 hours ago












      • @Saharsh You can use dir="ltr" or dir="rtl" to initialize the direction. Follow the link for a clear understanding: w3.org/International/questions/qa-html-dir

        – Ramesh
        3 hours ago















      4
















      It depends on how you type the string(left to right / right to left). In the provided question, "2132-سسس" was typed from left to right and "8635-بحد" was typed from right to left.



      Check the below snippet.






      console.log("Typed left to right:");
      console.log("2132-سسس".split('-'));
      console.log("8635-بحد".split('-'));

      console.log("---------------");

      console.log("Typed right to left as arabians follow:");
      console.log("سسس-2132".split('-'));
      console.log("بحد-8635".split('-'));








      share|improve this answer

























      • ok understood. But this string is coming in response from backend to frontend and it is giving random result. How can this be done?

        – Saurabh Arora
        7 hours ago






      • 4





        Thanks for answer. Can you elaborate on topic about "typed left to right and reverse"? They both looks eerily same with a glance.

        – Saharsh
        7 hours ago












      • @Saharsh You can use dir="ltr" or dir="rtl" to initialize the direction. Follow the link for a clear understanding: w3.org/International/questions/qa-html-dir

        – Ramesh
        3 hours ago













      4














      4










      4









      It depends on how you type the string(left to right / right to left). In the provided question, "2132-سسس" was typed from left to right and "8635-بحد" was typed from right to left.



      Check the below snippet.






      console.log("Typed left to right:");
      console.log("2132-سسس".split('-'));
      console.log("8635-بحد".split('-'));

      console.log("---------------");

      console.log("Typed right to left as arabians follow:");
      console.log("سسس-2132".split('-'));
      console.log("بحد-8635".split('-'));








      share|improve this answer













      It depends on how you type the string(left to right / right to left). In the provided question, "2132-سسس" was typed from left to right and "8635-بحد" was typed from right to left.



      Check the below snippet.






      console.log("Typed left to right:");
      console.log("2132-سسس".split('-'));
      console.log("8635-بحد".split('-'));

      console.log("---------------");

      console.log("Typed right to left as arabians follow:");
      console.log("سسس-2132".split('-'));
      console.log("بحد-8635".split('-'));








      console.log("Typed left to right:");
      console.log("2132-سسس".split('-'));
      console.log("8635-بحد".split('-'));

      console.log("---------------");

      console.log("Typed right to left as arabians follow:");
      console.log("سسس-2132".split('-'));
      console.log("بحد-8635".split('-'));





      console.log("Typed left to right:");
      console.log("2132-سسس".split('-'));
      console.log("8635-بحد".split('-'));

      console.log("---------------");

      console.log("Typed right to left as arabians follow:");
      console.log("سسس-2132".split('-'));
      console.log("بحد-8635".split('-'));






      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered 8 hours ago









      RameshRamesh

      1,3737 silver badges22 bronze badges




      1,3737 silver badges22 bronze badges















      • ok understood. But this string is coming in response from backend to frontend and it is giving random result. How can this be done?

        – Saurabh Arora
        7 hours ago






      • 4





        Thanks for answer. Can you elaborate on topic about "typed left to right and reverse"? They both looks eerily same with a glance.

        – Saharsh
        7 hours ago












      • @Saharsh You can use dir="ltr" or dir="rtl" to initialize the direction. Follow the link for a clear understanding: w3.org/International/questions/qa-html-dir

        – Ramesh
        3 hours ago

















      • ok understood. But this string is coming in response from backend to frontend and it is giving random result. How can this be done?

        – Saurabh Arora
        7 hours ago






      • 4





        Thanks for answer. Can you elaborate on topic about "typed left to right and reverse"? They both looks eerily same with a glance.

        – Saharsh
        7 hours ago












      • @Saharsh You can use dir="ltr" or dir="rtl" to initialize the direction. Follow the link for a clear understanding: w3.org/International/questions/qa-html-dir

        – Ramesh
        3 hours ago
















      ok understood. But this string is coming in response from backend to frontend and it is giving random result. How can this be done?

      – Saurabh Arora
      7 hours ago





      ok understood. But this string is coming in response from backend to frontend and it is giving random result. How can this be done?

      – Saurabh Arora
      7 hours ago




      4




      4





      Thanks for answer. Can you elaborate on topic about "typed left to right and reverse"? They both looks eerily same with a glance.

      – Saharsh
      7 hours ago






      Thanks for answer. Can you elaborate on topic about "typed left to right and reverse"? They both looks eerily same with a glance.

      – Saharsh
      7 hours ago














      @Saharsh You can use dir="ltr" or dir="rtl" to initialize the direction. Follow the link for a clear understanding: w3.org/International/questions/qa-html-dir

      – Ramesh
      3 hours ago





      @Saharsh You can use dir="ltr" or dir="rtl" to initialize the direction. Follow the link for a clear understanding: w3.org/International/questions/qa-html-dir

      – Ramesh
      3 hours ago













      0
















      As mentioned in other answer this depends on how your string is typed (ltr or rtl),



      To understand the difference set dir attribute on input and then split the value






      function handleLTR() 
      let element = document.getElementById('default').value
      console.log(element.split('-'))


      function handleRTL()
      let element = document.getElementById('rtl').value
      console.log(element.split('-'))

      <div>
      <input id='default' value=''></input>
      <button onClick=handleLTR()>Handle LTR</button>
      </div>
      <div>
      <input id='rtl' dir="rtl" value=''></input>
      <button onClick=handleRTL()>Handle RTL</button>
      </div>





      To read about
      What is difference between RTL and LTR






      share|improve this answer































        0
















        As mentioned in other answer this depends on how your string is typed (ltr or rtl),



        To understand the difference set dir attribute on input and then split the value






        function handleLTR() 
        let element = document.getElementById('default').value
        console.log(element.split('-'))


        function handleRTL()
        let element = document.getElementById('rtl').value
        console.log(element.split('-'))

        <div>
        <input id='default' value=''></input>
        <button onClick=handleLTR()>Handle LTR</button>
        </div>
        <div>
        <input id='rtl' dir="rtl" value=''></input>
        <button onClick=handleRTL()>Handle RTL</button>
        </div>





        To read about
        What is difference between RTL and LTR






        share|improve this answer





























          0














          0










          0









          As mentioned in other answer this depends on how your string is typed (ltr or rtl),



          To understand the difference set dir attribute on input and then split the value






          function handleLTR() 
          let element = document.getElementById('default').value
          console.log(element.split('-'))


          function handleRTL()
          let element = document.getElementById('rtl').value
          console.log(element.split('-'))

          <div>
          <input id='default' value=''></input>
          <button onClick=handleLTR()>Handle LTR</button>
          </div>
          <div>
          <input id='rtl' dir="rtl" value=''></input>
          <button onClick=handleRTL()>Handle RTL</button>
          </div>





          To read about
          What is difference between RTL and LTR






          share|improve this answer















          As mentioned in other answer this depends on how your string is typed (ltr or rtl),



          To understand the difference set dir attribute on input and then split the value






          function handleLTR() 
          let element = document.getElementById('default').value
          console.log(element.split('-'))


          function handleRTL()
          let element = document.getElementById('rtl').value
          console.log(element.split('-'))

          <div>
          <input id='default' value=''></input>
          <button onClick=handleLTR()>Handle LTR</button>
          </div>
          <div>
          <input id='rtl' dir="rtl" value=''></input>
          <button onClick=handleRTL()>Handle RTL</button>
          </div>





          To read about
          What is difference between RTL and LTR






          function handleLTR() 
          let element = document.getElementById('default').value
          console.log(element.split('-'))


          function handleRTL()
          let element = document.getElementById('rtl').value
          console.log(element.split('-'))

          <div>
          <input id='default' value=''></input>
          <button onClick=handleLTR()>Handle LTR</button>
          </div>
          <div>
          <input id='rtl' dir="rtl" value=''></input>
          <button onClick=handleRTL()>Handle RTL</button>
          </div>





          function handleLTR() 
          let element = document.getElementById('default').value
          console.log(element.split('-'))


          function handleRTL()
          let element = document.getElementById('rtl').value
          console.log(element.split('-'))

          <div>
          <input id='default' value=''></input>
          <button onClick=handleLTR()>Handle LTR</button>
          </div>
          <div>
          <input id='rtl' dir="rtl" value=''></input>
          <button onClick=handleRTL()>Handle RTL</button>
          </div>






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 7 hours ago

























          answered 7 hours ago









          Code ManiacCode Maniac

          25.6k4 gold badges17 silver badges43 bronze badges




          25.6k4 gold badges17 silver badges43 bronze badges
























              -1
















              Try this




              console.log("2132-سسس".split('-').sort());
              console.log("8635-بحد".split('-').sort());
              console.log("سسس-2132".split('-').sort());
              console.log("1-حد".split('-').sort());








              share|improve this answer





























                -1
















                Try this




                console.log("2132-سسس".split('-').sort());
                console.log("8635-بحد".split('-').sort());
                console.log("سسس-2132".split('-').sort());
                console.log("1-حد".split('-').sort());








                share|improve this answer



























                  -1














                  -1










                  -1









                  Try this




                  console.log("2132-سسس".split('-').sort());
                  console.log("8635-بحد".split('-').sort());
                  console.log("سسس-2132".split('-').sort());
                  console.log("1-حد".split('-').sort());








                  share|improve this answer













                  Try this




                  console.log("2132-سسس".split('-').sort());
                  console.log("8635-بحد".split('-').sort());
                  console.log("سسس-2132".split('-').sort());
                  console.log("1-حد".split('-').sort());








                  console.log("2132-سسس".split('-').sort());
                  console.log("8635-بحد".split('-').sort());
                  console.log("سسس-2132".split('-').sort());
                  console.log("1-حد".split('-').sort());





                  console.log("2132-سسس".split('-').sort());
                  console.log("8635-بحد".split('-').sort());
                  console.log("سسس-2132".split('-').sort());
                  console.log("1-حد".split('-').sort());






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 7 hours ago









                  Arsalan AkhtarArsalan Akhtar

                  3162 silver badges14 bronze badges




                  3162 silver badges14 bronze badges































                      draft saved

                      draft discarded















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f58074813%2fhow-js-split-works-on-arabic-plus-english-number-strings%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Sahara Skak | Bilen | Luke uk diar | NawigatsjuunCommonskategorii: SaharaWikivoyage raisfeerer: Sahara26° N, 13° O

                      The fall designs the understood secretary. Looking glass Science Shock Discovery Hot Everybody Loves Raymond Smile 곳 서비스 성실하다 Defas Kaloolon Definition: To combine or impregnate with sulphur or any of its compounds as to sulphurize caoutchouc in vulcanizing Flame colored Reason Useful Thin Help 갖다 유명하다 낙엽 장례식 Country Iron Definition: A fencer a gladiator one who exhibits his skill in the use of the sword Definition: The American black throated bunting Spiza Americana Nostalgic Needy Method to my madness 시키다 평가되다 전부 소설가 우아하다 Argument Tin Feeling Representative Gym Music Gaur Chicken 일쑤 코치 편 학생증 The harbor values the sugar. Vasagle Yammoe Enstatite Definition: Capable of being limited Road Neighborly Five Refer Built Kangaroo 비비다 Degree Release Bargain Horse 하루 형님 유교 석 동부 괴롭히다 경제력

                      19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу