OSDN Git Service

Version 0.6.104, fix X_shortcut & etc.
[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 };\r
21 \r
22 // ------------------------------------------------------------------------- //\r
23 // --- implements ---------------------------------------------------------- //\r
24 // ------------------------------------------------------------------------- //\r
25 function X_String_parse( v ){\r
26         var _v, n;\r
27         if( X.Type.isString( v ) ){\r
28                 switch( v ){\r
29                         case ''          : return v;\r
30                         //case '{}'        : return {};\r
31                         //case '[]'        : return [];\r
32                         case 'NaN'       : return NaN;\r
33                         case 'null'      : return null;\r
34                         case 'true'      : return true;\r
35                         case 'false'     : return false;\r
36                         case 'Infinity'  : return  1 / 0;//Number.POSITIVE_INFINITY;\r
37                         case '-Infinity' : return -1 / 0;//Number.NEGATIVE_INFINITY;\r
38                         //case 'void(0)'   :\r
39                         //case 'void 0'    :\r
40                         case 'undefined' : return;\r
41                 };\r
42                 _v = v.split( ' ' ).join( '' );\r
43                 n  = _v - 0;\r
44                 if( '' + n === _v || '' + n === '0' + _v  ) return n;\r
45         };\r
46         return v;\r
47 };\r
48         \r
49 function X_String_cleanupWhiteSpace( text ){\r
50         var _ = ' ', __ = '  ', CRLF = X_String_CRLF;\r
51         //text.indexOf( CRLF )   !== -1 && ( text = text.split( CRLF ).join( _ ) );\r
52         text.indexOf( '\n\r' ) !== -1 && ( text = text.split( '\n\r' ).join( _ ) );\r
53         text.indexOf( '\t' )   !== -1 && ( text = text.split( '\t' ).join( _ ) );\r
54         text.indexOf( '\r' )   !== -1 && ( text = text.split( '\r' ).join( _ ) );\r
55         text.indexOf( '\n' )   !== -1 && ( text = text.split( '\n' ).join( _ ) );\r
56         text.indexOf( '\f' )   !== -1 && ( text = text.split( '\f' ).join( _ ) );\r
57         text.indexOf( '\b' )   !== -1 && ( text = text.split( '\b' ).join( _ ) );\r
58         while( text.indexOf( __ ) !== -1 ){\r
59                 text = text.split( __ ).join( _ );\r
60         };\r
61         return text;\r
62 };\r
63 \r
64 function X_String_whiteSpaceToTag( text ){\r
65     if( text == null ) return '';\r
66     return text.toString()\r
67         //.split( '\r\n\r\n' ).join( '<br>' )\r
68         //.split( '\n\r\n\r' ).join( '<br>' )\r
69         //.split( '\r\n' ).join( '<br>' )\r
70         .split( '\n\r' ).join( '<br>' )\r
71         .split( '\r' ).join( '<br>' )\r
72         .split( '\n' ).join( '<br>' )\r
73         .split( '\t' ).join( '&nbsp;&nbsp;&nbsp;&nbsp;' )\r
74         .split( '\f' ).join( '' )\r
75         .split( '\b' ).join( '' );\r
76 };\r
77 \r
78 function X_String_chrReferanceTo( str ){\r
79     if( str == null ) return '';\r
80     return str.toString()\r
81         .split( '&amp;' ).join( '&' )\r
82         .split( '&lt;' ).join( '<' )\r
83         .split( '&gt;' ).join( '>' )\r
84         .split( '&nbsp;' ).join( ' ' );\r
85 };\r
86 \r