比较JS中的换行符返回false

时间:2015-02-13 07:35:14

标签: javascript

我有一张js的支票,如下所示:

if (a == b) {

a的值为"<br>"

b的值为"↵"

支票转到其他地方。但你可以看到,基本上两个字符串都代表换行符,我需要检查才能转到if。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我会在这里走出困境,其中一个是\r\n而另一个是\n,或者其中一个是\r而另一个是\n {1}}。

如果您想知道他们是否在\r\n\r\n集中,您有两种选择:

  1. 使用像/^[\r\n]+$/这样的正则表达式来测试它们;如果两者都匹配,他们就会等同于#34;在您的定义中:它们在某些安排中仅包含\r\n

  2. 在比较之前将它们标准化。例如,这将确保我前面提到的那三个子串的任何序列最终都是\na = a.replace(/[\r\n]+/, '\n');。然后比较结果。

  3. ,如果您的意思是其中一个是字符串<br>而另一个是\n,您可以应用与上面相同的内容来转换{ {1}}到<br>。但请注意,\n<br> 相同。其中一个是表示HTML中的换行符的标记;另一个是代表换行符的字符,(在HTML中)换行符。