`

不同浏览器对于textarea中换行符的处理

阅读更多
不同浏览器对于textarea中换行符的处理

今 天在做一些表单提交,涉及到textarea中的换行,因为填入的内容是Base64编码之后的结果(规范规定,Base64编码结果中每76个字符需要 加上一个回车换行,即一个"\r\n"),在IE下测试,一切OK,但是到了Firefox和谷歌浏览器下,总是提示错误,细查一下,发现不同浏览器对于 换行符处理不同造成的。

  • 在IE下,换行符传入\r\n
  • 在Firefox和谷歌浏览器下,换行符只传入了\n
因为后台程序默认是按照\r\n处理的,所以字符串就不匹配了。
解决办法:如果发现传入的字符串只有\n,没有\r\n,则用正则表达式将\n替换成\r\n,然后再进行业务处理即可。

附:ASCII表
十六进制
高三位
0X0
0X1
0X2
0X3
0X4
0X5
0X6
0X7
二进制
000
001
010
011
100
101
110
111
低四位
0X0
0000
0NUL
16 DLE
32SP
480
64@
80P
96 `
112p
0X1
0001
1 SOH
17 DC1
33!
491
65A
81Q
97a
113q
0X2
0010
2 STX
18 DC2
34"
502
66B
82R
98 b
114r
0X3
0011
3ETX
19 DC3
35#
513
67C
83S
99 c
115s
0X4
0100
4 EOT
20 DC4
36$
524
68D
84T
100d
116t
0X5
0101
5 ENQ
21 NAK
37%
535
69E
85U
101e
117u
0X6
0110
6 ACK
22 SYN
38&
546
70F
86V
102f
118v
0X7
0111
7BEL
23 ETB
39'
557
71G
87W
103g
119w
0X8
1000
8BS
24 CAN
40(
568
72H
88X
104h
120x
0X9
1001
9HT
25 EM
41)
579
73I
89Y
105i
121y
0XA
1010
10LF
26 SUB
42*
58:
74J
90Z
106j
122z
0XB
1011
11 VT
27ESC
43+
59 ;
75K
91[
107k
123{
0XC
1100
12 FF
28 FS
44,
60 <
76L
92\
108l
124|
0XD
1101
13CR
29 GS
45-
61=
77M
93]
109m
125}
0XE
1110
14 SO
30 RS
46.
62>
78N
94^
110n
126~
0XF
1111
15 SI
31 US
47/
63?
79O
95_
111o
127DEL
































如:
\r对应的ASCII码为10,表示换行
\n对应的ASCII码为13,表示回车
分享到:
评论
1 楼 chenshun 2011-08-09  
不错,学习
呵呵

相关推荐

    jquery.caret:jQuery插件来操纵输入和textarea元素的插入符位置和选择范围

    处理浏览器之间的行尾差异 选择/取消选择任何元素中的所有文本 原料药 脱字号 $.fn.caret() 在单个点上询问并操纵输入字段的光标位置,而无需选择任何文本。 .caret()返回Number 获取第一个匹配元素的光标位置。 ...

    JavaScript中文参考手册

    多个语句可以出现在一行上,但各自中间应该用分号隔开。 break comment continue delete do...while export for for...in function if...else import labeled return switch var while with 第四章...

    xheditor v1.0.0 rc2 build 100401

    修正:&lt;pre&gt;&lt;/pre&gt;已编排格式中的换行符和制表符丢失问题的修正 修正:最终代码提交时没有进行压缩问题的修正 修正:表情没有插入alt信息问题的修正 修正:表情分组切换时产生右移1像素位移问题的修正 修正:当...

    自动填充「Autofill」-crx插件

    改进了动态插入的元素nts观察器-处于手动模式时自动启用上下文菜单-导入后仍然禁用了延迟范围输入-修复了手动模式不支持动态插入的字段-修复了某些包含换行符的值JavaScript错误-修复了导入问题-修复了所选字段突出...

    java编程基础,应用与实例

    8.4 继承中的访问控制符 123 8.5 覆盖 124 8.6 多态 126 8.7 引用的范围 127 8.8 引用变量的类型转换 128 8.9 Object类 129 8.10 “==”与equals() 130 8.11 Object型引用变量 132 8.12 类的层级图...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox...

    正则表达式

    例如,序列 "\n" 在字符串中匹配的是一个直接量换行符.在正则表达式中,许多标点符号都有特殊的含义.下面是这些字符和它们的含义: 正则表达式的直接量字符 字符 匹配 ________________________________ 字母数字...

    ExtAspNet_v2.3.2_dll

    -Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。 -修正DatePicker中的一个bug(31/01/2010将会返回NULL)使用DateFormatString来生成SelectedDate属性...

    HTML开发王

    3.4.1 关于断行符 3.4.2 空白字符 3.5 基本html数据型式 3.5.1 cdata数据类型 3.5.2 id和name使用的数据类型 3.5.3 idref和idrefs使用的数据类型 3.5.4 number数据类型 3.5.5 文本字符串 3.5.6 使用uri 3.5.7 使用...

    xheditor-1.1.14

    |:分隔符 /:强制换行 Cut:剪切 Copy:复制 Paste:粘贴 Pastetext:文本粘贴 Blocktag:段落标签 Fontface:字体 FontSize:字体大小 Bold:粗体 Italic:斜体 Underline:下划线 Strikethrough:中划线 Font...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    然后在你的浏览器中打开此文件。看看这个页面你就知道你的PHP安装使用的选项了。 2.3 语法 就像前面提到的一样,你可以混合编写你的PHP代码和HTML代码。因此你必须有办法将两者区别开来。以下就是你可以采用的几种...

Global site tag (gtag.js) - Google Analytics