javascript - 如何解决 js 字符串中这个从右到左的脚本问题?

标签 javascript string text

在使用奇怪的字符串时,我想要默认行为而不是这个从右到左的脚本问题。

我什至无法在问题中输入预期的输出。浏览器会自动将其放在错误的一侧。

var strange = "د.إ";
var common = "$";

var amount = 50;
var str_common = common + amount;
var str_strange = strange + amount;

alert(str_common);

// unexpected output
alert(str_strange);

// unexpected output
alert(str_common + ' -- ' + str_strange);

// unexpected output
alert(str_strange + ' -- ' + str_common);

js fiddle - http://jsfiddle.net/rahulroy9202/xL7cu2os/1/

最佳答案

您可以使用 unicode 控制字符 U+202A 强制它 LTR:

var str_strange = '\u202A' + strange + amount;

\u202A 是用于 LTR 嵌入的 unicode 控制字符。 \u202B 用于 RTL 嵌入。

更多信息在这里:https://en.wikipedia.org/wiki/Bi-directional_text#Table_of_possible_BiDi-types

您也可以使用 \u200.. 系列。只需使用 \u200E 将其强制为 LTR。

片段(带组合):

var strange = "د.إ", common = "$", amount = 50, strStrange = '';
strStrange = '\u202A' + strange + amount;
alert(strStrange);
strStrange = '\u200E' + strange + '\u200E' + amount;
alert(strStrange);

关于javascript - 如何解决 js 字符串中这个从右到左的脚本问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32710566/

相关文章:

javascript - 使用 RPC 发送电子邮件 RegEx Javascript

javascript - 使用Javascript检测可视区域的高度

matlab - 如何加载文本文件并存储到数据结构中

algorithm - 如何计算边界矩形的宽度,以适应特定比例的文本包装?

bash - 如何使用正则表达式分隔符获取第 n 列

javascript - 不明白为什么map()不是一个函数

javascript - 比较Mongoose Doc和Express当前日期中的日期

javascript - 将分割字符串的子字符串包装在元素中

c pthread_create 字符串参数

c - char s[] 和 char *s 在初始化方面有什么区别?