首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript字符串长度不同于PHP mb_strlen (文本区行,换行符)

Javascript字符串长度不同于PHP mb_strlen (文本区行,换行符)
EN

Stack Overflow用户
提问于 2011-10-04 08:52:46
回答 1查看 2.2K关注 0票数 6

我使用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
复制
Javascript  :  document.getElementById("text").value.length

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

还有其他关于这方面的帖子,主要是以下一篇:Javascript String Length Differs From PHP mb_strlen。但我的问题的答案并不在那里,在任何其他帖子上也找不到。

感谢您的帮助和建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-04 09:17:54

火狐和Chrome只使用\n换行,而IE(opera也是)使用\r\n

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

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7642257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档