用外语进行javascript字符串比较

时间:2018-01-04 22:29:42

标签: javascript

我有一些旧代码没有任何评论使用javascript与我以前使用过的方式不同。以下是对字符串进行数学运算。

if ((toFind > nextOptionText) && (toFind < lookAheadOptionText))

我发现了类似这样的问题 - 这基本上表明&#34; a&#34; &LT; &#34; B&#34;:

how exactly do Javascript numeric comparison operators handle strings?

但是在我的例子中,我有一些与之相比的特殊字符。在我的代码中,上面的参数是:

if (("A" > "+") && ("A" < ">EINFUHRUNG ZUM"))

这等于TRUE - 在我的情况下,我需要它等于FALSE,但我不是在问如何使它变错,我真的只是想了解编写这段代码的开发人员在想什么。上面的if语句是如何工作的。

显然我也在处理外语(德语) - 我很确定这段代码是在应用程序变成多语言之前编写的。
如果还有其他建议我应该留意,请告诉我(即使用语言环境或进行不同类型的比较)。

1 个答案:

答案 0 :(得分:2)

我的快速测试显示此代码的评估结果为FALSE,如预期的那样。

&#13;
&#13;
if (("A" > "+") && ("A" < ">EINFUHRUNG ZUM")) {
    alert('true')
} else {
    alert( 'false') 
}
&#13;
&#13;
&#13;

一般情况下,比较照常进行according to the character codes,因此&#34; A&#34; &GT; &#34;&GT;&#34;和&#34; A&#34; &GT; &#34; +&#34 ;.

要比较非ASCII字母的字符串,您可能会发现this reference有用。