将数值连接到JS中的阿拉伯字符串的右侧



var data="عينات";

var num=";123〃;;

var res=数据+num;//returnعينات123

我试图将数字连接到阿拉伯文本的右侧,但它跳到了左侧,还试图反转字符串,但无济于事。

请用Javascript提出解决方案。

提前感谢!

您可以使用Directional_Formating_Codes:

  • LREU+202A左向右嵌入将以下文本视为从左向右嵌入
  • PDFU+202CPOP DIRECTIONAL FORMATING结束最后一个LRE、RLE、RLO或LRO的范围

var data = "عينات";
var num = "123";
var res = "u202A" + data + "u202C" + num
console.log(res);

另一个答案建议在文本中添加控制字符,但正如有人评论的那样,这种方法也有缺点。

无论字符串的顺序如何,您都会将数字放在左边,这是因为您使用的是LTR元素(或始终为LTR的浏览器控制台(。如果数字先到,它们从左边开始,如果阿拉伯字母先到,则从右边开始,因为阿拉伯字母有";硬";RTL方向,甚至在LTR元素内部。

然而,如果您使用RTL元素并将数字放在第一位,它将按预期显示:

<div dir="rtl">123عينات</div>

或者动态使用JavaScript:

var data = "عينات";
var num = "123";
var res = num + data;
var el = document.createElement('div');
el.dir = "rtl";
el.textContent = res;
document.body.append(el);

最新更新