在javascript中将RTL字符串与LTR字符串连接起来 [英] Concat RTL string with LTR string in javascript

查看:39
本文介绍了在javascript中将RTL字符串与LTR字符串连接起来的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm facing trouble in concatenating Arabic string with English string but their order is being messed!

我尝试了 + 运算符和 str1.concat(..) 但对我没有用.

I tried + operator and str1.concat(..) but nothing works for me.

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-1​​300004-رخ-2014.xml

The result was like this: englishأ.ب-000082-1300004-ر خ-2014.xml

推荐答案

您要查找的字符是 u202Au202Bu202C

The characters your are looking for are u202A, u202B and 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‬"

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

Not sure why c wanted to be LTR, maybe because it ends .xml?

这篇关于在javascript中将RTL字符串与LTR字符串连接起来的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆