我使用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。但我的问题的答案并不存在,也无法在其他任何帖子中找到。
感谢您的帮助和建议。
答案 0 :(得分:10)
Firefox和Chrome仅使用\n
进行换行,而IE(也是歌剧)使用\r\n
要获得唯一结果,请在计算字符串长度之前将所有出现的\r\n
替换为\n