javascript中包含LTR字符串的Concat RTL字符串

javascript中包含LTR字符串的Concat RTL字符串,javascript,internationalization,right-to-left,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.getElem

我在连接阿拉伯语字符串和英语字符串时遇到了麻烦,但它们的顺序被弄乱了

我尝试了
+
操作符和
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;

结果是这样的:english\أ.ب-000082-13\000004-CharStyle-2014.xml


不确定为什么
c
想要成为LTR,可能是因为它以
.xml
结尾?

可能会有帮助:。。但是,您的号码是否写在LTR上?你可能会发现你的方向在每根弦内都在变化,保罗!我知道这是一个古老的线索,这个答案非常有效,但我遇到的一些事情,我想与大家分享。如果有人计划在浏览器URL中使用包装文本,请确保转义此函数中添加的字符,使其正确显示。非常感谢。
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‬"