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
































如:
/r对应的ASCII码为10,表示换行
/n对应的ASCII码为13,表示回车

参考:

posted on 2009-01-03 22:10  如果蜗牛有爱情  阅读(302)  评论(0编辑  收藏  举报

导航