在JavaScript中使用LTR字符串的Concat RTL字符串

use*_*062 1 javascript internationalization right-to-left

我在将阿拉伯字符串与英文字符串连接时遇到麻烦,但他们的订单混乱了!

我尝试过+操作员,str1.concat(..)但对我来说没有任何作用.

var a = 'english'
var b = '?.?-000082-13'
var c = '000004-? ?-2014.xml'

//var myCoolString =a + '\\' + b + '\\' + c;

var myCoolString =a.concat("\\",b,"\\",c) 

document.getElementsByTagName('output')[0].innerHTML = myCoolString;
Run Code Online (Sandbox Code Playgroud)

结果是这样的:english \أ.ب-000082-1​​3\000004-رخ-2014.xml

Pau*_* S. 7

你正在寻找的角色是\u202A,\u202B\u202C

function wrap_dir(dir, str) {
    if (dir === 'rtl') return '\u202B' + str + '\u202C';
    return '\u202A' + str + '\u202C';
}


wrap_dir('ltr', a) + wrap_dir('ltr', '\\') + wrap_dir('rtl', b) + wrap_dir('ltr', '\\') + wrap_dir('ltr', c);
// "?english??\???.?-000082-13??\??000004-? ?-2014.xml?"
Run Code Online (Sandbox Code Playgroud)

不知道为什么c想成为LTR,也许是因为它结束了.xml