OSDN Git Service

b5ba9ba52f6d0a36dc635d9d363c0798a4cbf0aa
[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 \r
11 /**\r
12  * @namespace X.String\r
13  * @alias X.String\r
14  */\r
15 X.String = {\r
16         \r
17         parse             : X_String_parse,\r
18         \r
19         cleanupWhiteSpace : X_String_cleanupWhiteSpace,\r
20         \r
21         whiteSpaceToTag   : X_String_whiteSpaceToTag,\r
22         \r
23         chrReferanceTo    : X_String_chrReferanceTo,\r
24         \r
25         toChrReferance    : X_String_toChrReferance,\r
26         \r
27         isNumberString    : X_String_isNumberString\r
28 };\r
29 \r
30 // ------------------------------------------------------------------------- //\r
31 // --- implements ---------------------------------------------------------- //\r
32 // ------------------------------------------------------------------------- //\r
33 function X_String_parse( v ){\r
34         var _v, n;\r
35         if( X.Type.isString( v ) ){\r
36                 switch( v ){\r
37                         case ''          : return v;\r
38                         //case '{}'        : return {};\r
39                         //case '[]'        : return [];\r
40                         case 'NaN'       : return NaN;\r
41                         case 'null'      : return null;\r
42                         case 'true'      : return true;\r
43                         case 'false'     : return false;\r
44                         case 'Infinity'  : return  1 / 0;//Number.POSITIVE_INFINITY;\r
45                         case '-Infinity' : return -1 / 0;//Number.NEGATIVE_INFINITY;\r
46                         //case 'void(0)'   :\r
47                         //case 'void 0'    :\r
48                         case 'undefined' : return;\r
49                 };\r
50                 _v = v.split( ' ' ).join( '' );\r
51                 n  = _v - 0;\r
52                 if( '' + n === _v || '' + n === '0' + _v  ) return n;\r
53         };\r
54         return v;\r
55 };\r
56         \r
57 function X_String_cleanupWhiteSpace( text ){\r
58         var _ = ' ', __ = '  ', CRLF = X_String_CRLF;\r
59         //text.indexOf( CRLF )   !== -1 && ( text = text.split( CRLF ).join( _ ) );\r
60         text.indexOf( '\n\r' ) !== -1 && ( text = text.split( '\n\r' ).join( _ ) );\r
61         text.indexOf( '\t' )   !== -1 && ( text = text.split( '\t' ).join( _ ) );\r
62         text.indexOf( '\r' )   !== -1 && ( text = text.split( '\r' ).join( _ ) );\r
63         text.indexOf( '\n' )   !== -1 && ( text = text.split( '\n' ).join( _ ) );\r
64         text.indexOf( '\f' )   !== -1 && ( text = text.split( '\f' ).join( _ ) );\r
65         text.indexOf( '\b' )   !== -1 && ( text = text.split( '\b' ).join( _ ) );\r
66         while( text.indexOf( __ ) !== -1 ){\r
67                 text = text.split( __ ).join( _ );\r
68         };\r
69         return text;\r
70 };\r
71 \r
72 function X_String_whiteSpaceToTag( text ){\r
73     if( text == null ) return '';\r
74     return text.toString()\r
75         //.split( '\r\n\r\n' ).join( '<br>' )\r
76         //.split( '\n\r\n\r' ).join( '<br>' )\r
77         //.split( '\r\n' ).join( '<br>' )\r
78         .split( '\n\r' ).join( '<br>' )\r
79         .split( '\r' ).join( '<br>' )\r
80         .split( '\n' ).join( '<br>' )\r
81         .split( '\t' ).join( '&nbsp;&nbsp;&nbsp;&nbsp;' )\r
82         .split( '\f' ).join( '' )\r
83         .split( '\b' ).join( '' );\r
84 };\r
85 \r
86 function X_String_chrReferanceTo( str ){\r
87     if( str == null ) return '';\r
88     return str.toString()\r
89         .split( '&quot;' ).join( '"' )\r
90         .split( '&amp;' ).join( '&' )\r
91         .split( '&lt;' ).join( '<' )\r
92         .split( '&gt;' ).join( '>' )\r
93         .split( '&nbsp;' ).join( ' ' );\r
94 };\r
95 \r
96 function X_String_toChrReferance( str ){\r
97     if( str == null ) return '';\r
98     return str.toString()\r
99         .split( '"' ).join( '&quot;' )\r
100         .split( '&' ).join( '&amp;' )\r
101         .split( '<' ).join( '&lt;' )\r
102         .split( '>' ).join( '&gt;' )\r
103         .split( ' ' ).join( '&nbsp;' );\r
104 };\r
105 \r
106 function X_String_isNumberString( v ){\r
107         var n = v - 0;\r
108         return '' + n === v || '' + n === '0' + v;\r
109 };\r
110 \r