欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

转换textarea换行符终极解决办法(兼容所有浏览器) ie textarea 换行符

[javascript] view plain copy
 
  1. <script type="text/javascript">  
  2. var s = document.getElementById('textarea1').value;  
  3. <pre name="code" class="javascript">str.replace(/\r/ig, "").replace(/\n/ig, ",");  
  4. </pre></script><br>  
  5. <br>  
  6. <textarea id="textarea1"><br>  
  7. 第1行<br>  
  8. 第2行<br>  
  9. 第3行<br>  
  10. </textarea><br>  
  11. <pre></pre>  
  12. <p><br>  
  13. </p>  
  14. <p>效果图如下:</p>  
  15. <p>第一行,第二行,第三行</p>  
  16. <p><br>  
  17. </p>  
  18.      
来自  http://blog.csdn.net/uniqer/article/details/8287673

不同浏览器对于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,表示回车
 
参考:

来自 http://blog.csdn.net/hbcui1984/article/details/3696717
普通分类: