不同浏览器对于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,表示回车
分享到:
相关推荐
处理浏览器之间的行尾差异 选择/取消选择任何元素中的所有文本 原料药 脱字号 $.fn.caret() 在单个点上询问并操纵输入字段的光标位置,而无需选择任何文本。 .caret()返回Number 获取第一个匹配元素的光标位置。 ...
多个语句可以出现在一行上,但各自中间应该用分号隔开。 break comment continue delete do...while export for for...in function if...else import labeled return switch var while with 第四章...
修正:<pre></pre>已编排格式中的换行符和制表符丢失问题的修正 修正:最终代码提交时没有进行压缩问题的修正 修正:表情没有插入alt信息问题的修正 修正:表情分组切换时产生右移1像素位移问题的修正 修正:当...
改进了动态插入的元素nts观察器-处于手动模式时自动启用上下文菜单-导入后仍然禁用了延迟范围输入-修复了手动模式不支持动态插入的字段-修复了某些包含换行符的值JavaScript错误-修复了导入问题-修复了所选字段突出...
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 类的层级图...
-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox...
例如,序列 "\n" 在字符串中匹配的是一个直接量换行符.在正则表达式中,许多标点符号都有特殊的含义.下面是这些字符和它们的含义: 正则表达式的直接量字符 字符 匹配 ________________________________ 字母数字...
-Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。 -修正DatePicker中的一个bug(31/01/2010将会返回NULL)使用DateFormatString来生成SelectedDate属性...
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 使用...
|:分隔符 /:强制换行 Cut:剪切 Copy:复制 Paste:粘贴 Pastetext:文本粘贴 Blocktag:段落标签 Fontface:字体 FontSize:字体大小 Bold:粗体 Italic:斜体 Underline:下划线 Strikethrough:中划线 Font...
然后在你的浏览器中打开此文件。看看这个页面你就知道你的PHP安装使用的选项了。 2.3 语法 就像前面提到的一样,你可以混合编写你的PHP代码和HTML代码。因此你必须有办法将两者区别开来。以下就是你可以采用的几种...