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);