Javascript字符串长度与PHP mb_strlen不同(在textarea行,换行符)

时间:2011-10-04 00:52:46

标签: php javascript string-length

我使用JavaScript和PHP来计算字符串长度。一切都很好,除非我计算一个textarea字符串长度来自Chrome或Firefox而不是Internet Explorer。新的textarea行/换行符在Internet Explorer和PHP中计算为2个字符。但Chrome和Firefox计算textarea行/换行符就像1个字符(相比之下,PHP和Internet Explorer计算为2)。这是我的问题。任何人都知道如何解决它?

因此IE中的textarea中的JavaScript char计数=使用PHP计算的字符串长度 /// Chrome / Firefox中textarea中的JavaScript字符数不等于用PHP计算的字符串长度。

使用的代码:

Javascript  :  document.getElementById("text").value.length

PHP  :  mb_strlen($_POST['text'], 'UTF-8')

还有其他帖子,主要是以下一篇:Javascript String Length Differs From PHP mb_strlen。但我的问题的答案并不存在,也无法在其他任何帖子中找到。

感谢您的帮助和建议。

1 个答案:

答案 0 :(得分:10)

Firefox和Chrome仅使用\n进行换行,而IE(也是歌剧)使用\r\n

要获得唯一结果,请在计算字符串长度之前将所有出现的\r\n替换为\n