OSDN Git Service

c05219d1882347d1a5f3c2c5a1dd6b5495d52880
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 05_XString.js
1 \r
2 // ------------------------------------------------------------------------- //\r
3 // ------------ local variables -------------------------------------------- //\r
4 // ------------------------------------------------------------------------- //\r
5 var X_String_CRLF = String.fromCharCode( 13 ) + String.fromCharCode( 10 );\r
6 \r
7 // ------------------------------------------------------------------------- //\r
8 // --- interface ----------------------------------------------------------- //\r
9 // ------------------------------------------------------------------------- //\r
10 X.String = {\r
11         \r
12         parse             : X_String_parse,\r
13         \r
14         cleanupWhiteSpace : X_String_cleanupWhiteSpace,\r
15         \r
16         whiteSpaceToTag   : X_String_whiteSpaceToTag,\r
17         \r
18         chrReferanceTo    : X_String_chrReferanceTo,\r
19         \r
20         toChrReferance    : X_String_toChrReferance\r
21 };\r
22 \r
23 // ------------------------------------------------------------------------- //\r
24 // --- implements ---------------------------------------------------------- //\r
25 // ------------------------------------------------------------------------- //\r
26 function X_String_parse( v ){\r
27         var _v, n;\r
28         if( X.Type.isString( v ) ){\r
29                 switch( v ){\r
30                         case ''          : return v;\r
31                         //case '{}'        : return {};\r
32                         //case '[]'        : return [];\r
33                         case 'NaN'       : return NaN;\r
34                         case 'null'      : return null;\r
35                         case 'true'      : return true;\r
36                         case 'false'     : return false;\r
37                         case 'Infinity'  : return  1 / 0;//Number.POSITIVE_INFINITY;\r
38                         case '-Infinity' : return -1 / 0;//Number.NEGATIVE_INFINITY;\r
39                         //case 'void(0)'   :\r
40                         //case 'void 0'    :\r
41                         case 'undefined' : return;\r
42                 };\r
43                 _v = v.split( ' ' ).join( '' );\r
44                 n  = _v - 0;\r
45                 if( '' + n === _v || '' + n === '0' + _v  ) return n;\r
46         };\r
47         return v;\r
48 };\r
49         \r
50 function X_String_cleanupWhiteSpace( text ){\r
51         var _ = ' ', __ = '  ', CRLF = X_String_CRLF;\r
52         //text.indexOf( CRLF )   !== -1 && ( text = text.split( CRLF ).join( _ ) );\r
53         text.indexOf( '\n\r' ) !== -1 && ( text = text.split( '\n\r' ).join( _ ) );\r
54         text.indexOf( '\t' )   !== -1 && ( text = text.split( '\t' ).join( _ ) );\r
55         text.indexOf( '\r' )   !== -1 && ( text = text.split( '\r' ).join( _ ) );\r
56         text.indexOf( '\n' )   !== -1 && ( text = text.split( '\n' ).join( _ ) );\r
57         text.indexOf( '\f' )   !== -1 && ( text = text.split( '\f' ).join( _ ) );\r
58         text.indexOf( '\b' )   !== -1 && ( text = text.split( '\b' ).join( _ ) );\r
59         while( text.indexOf( __ ) !== -1 ){\r
60                 text = text.split( __ ).join( _ );\r
61         };\r
62         return text;\r
63 };\r
64 \r
65 function X_String_whiteSpaceToTag( text ){\r
66     if( text == null ) return '';\r
67     return text.toString()\r
68         //.split( '\r\n\r\n' ).join( '<br>' )\r
69         //.split( '\n\r\n\r' ).join( '<br>' )\r
70         //.split( '\r\n' ).join( '<br>' )\r
71         .split( '\n\r' ).join( '<br>' )\r
72         .split( '\r' ).join( '<br>' )\r
73         .split( '\n' ).join( '<br>' )\r
74         .split( '\t' ).join( '&nbsp;&nbsp;&nbsp;&nbsp;' )\r
75         .split( '\f' ).join( '' )\r
76         .split( '\b' ).join( '' );\r
77 };\r
78 \r
79 function X_String_chrReferanceTo( str ){\r
80     if( str == null ) return '';\r
81     return str.toString()\r
82         .split( '&quot;' ).join( '"' )\r
83         .split( '&amp;' ).join( '&' )\r
84         .split( '&lt;' ).join( '<' )\r
85         .split( '&gt;' ).join( '>' )\r
86         .split( '&nbsp;' ).join( ' ' );\r
87 };\r
88 \r
89 function X_String_toChrReferance( str ){\r
90     if( str == null ) return '';\r
91     return str.toString()\r
92         .split( '"' ).join( '&quot;' )\r
93         .split( '&' ).join( '&amp;' )\r
94         .split( '<' ).join( '&lt;' )\r
95         .split( '>' ).join( '&gt;' )\r
96         .split( ' ' ).join( '&nbsp;' );\r
97 };\r
98 \r