我使用JavaScript以及PHP来计算字符串长度。一切正常,除了我计算来自Chrome或Firefox和Internet Explorer的文本区域字符串长度。在Internet Explorer和PHP中,新的文本区行/换行符计算为2个字符。但是Chrome和Firefox将文本区域的行/换行符计算为1个字符(而PHP和Internet Explorer计算为2个字符)。这是我的问题。有人知道如何解决这个问题吗?
所以IE中文本区域中的JavaScript字符计数=用PHP /计算的字符串长度,而Chrome/Firefox中文本区域中的JavaScript字符计数不等于用PHP计算的字符串长度。
使用的代码:
Javascript : document.getElementById("text").value.length
PHP : mb_strlen($_POST['text'], 'UTF-8')还有其他关于这方面的帖子,主要是以下一篇:Javascript String Length Differs From PHP mb_strlen。但我的问题的答案并不在那里,在任何其他帖子上也找不到。
感谢您的帮助和建议。
发布于 2011-10-04 09:17:54
火狐和Chrome只使用\n换行,而IE(opera也是)使用\r\n
要获得唯一的结果,请在计算字符串长度之前将所有出现的\r\n替换为\n
https://stackoverflow.com/questions/7642257
复制相似问题