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"