在使用奇怪的字符串时,我想要默认行为而不是这个从右到左的脚本问题。
我什至无法在问题中输入预期的输出。浏览器会自动将其放在错误的一侧。
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/