如何在javascript中按正确的顺序连接波斯语字符和英语字符

how to concat persian characters with english characters in righ order in javascript?

本文关键字:字符 连接 顺序 波斯语 英语 javascript      更新时间:2023-11-05

我想连接:

"2334","234","مح''1605د"

顺序是"2334"是第一个,"مح''1605د"是第二个,"234"排名第三

如何在javascript中做到这一点?谢谢

实现这一功能的一种方法是将这些不同的部分包装在标签中,如span,并用dir属性指示方向(或者可以用CSS来完成):

var arr = ["2334" , "234", "محمد"];
var output = '<span dir="auto">' + arr[0] + '</span>' +
             '<span dir="auto">' + arr[2] + '</span>' + 
             '<span dir="auto">' + arr[1] + '</span>';
document.body.innerHTML = output;

试试这个

function wrap(str) {
    return ''u202B' + str + ''u202C';
}
var arr = ["2334" , "234", "محمد"];
var output = arr[0] + wrap(arr[2]) + arr[1];
document.body.innerHTML += output;

如果您只想在html页面中输出并按此顺序显示,只需将所有字符串部分包装到跨度中,并在跨度上添加display:inline-block规则:

var arr = ["2334" , "234", "محمد"];
document.body.innerHTML = '<span>'+arr[0]+'</span><span>'+arr[2]+'</span><span>'+arr[1]+'</span>';
body>span{ display: inline-block; }

为此,您可以使用unicode。我希望它能帮助你,如果我写错了,我很抱歉

var str = '123' + ''u06a6'u069e'u0681' + '456';
document.querySelector('.result').innerHTML = str;
.result {
  unicode-bidi: bidi-override;
  direction: ltr;
}
<p class="result"></p>