OSDN Git Service

Version 0.6.182, fix X.UA.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 06_XString.js
index 7af321c..aa7d1f2 100644 (file)
@@ -40,7 +40,8 @@ X[ 'String' ] = {
  * @return {*}\r
  */\r
 function X_String_parse( v ){\r
-       var _v, n;\r
+       var _v;\r
+       \r
        if( X_Type_isString( v ) ){\r
                switch( v ){\r
                        case ''          : return v;\r
@@ -57,8 +58,7 @@ function X_String_parse( v ){
                        case 'undefined' : return;\r
                };\r
                _v = v.split( ' ' ).join( '' );\r
-               n  = _v - 0;\r
-               if( '' + n === _v || '' + n === '0' + _v  ) return n;\r
+               if( X_String_isNumberString( _v ) ) return _v - 0;\r
        };\r
        return v;\r
 };\r
@@ -66,22 +66,32 @@ function X_String_parse( v ){
 /**\r
  * <p>空白文字を半角スペースに変換します。\n\r,\t,\r,\n,\f,\b\r
  * <p>2つ以上の連続する半角スペースを一つの半角スペースにします。\r
+ * <p>undefined, null が与えられた場合は '' を返します。\r
+ * <p>数値,Object が与えられた場合は toString します。\r
  * @alias X.String.cleanupWhiteSpace\r
  * @param {string}\r
  * @return {string}\r
  */\r
 function X_String_cleanupWhiteSpace( text ){\r
-       var _ = ' ', __ = '  ', CRLF = X_String_CRLF;\r
+       var _ = ' ', __ = '  '; //, CRLF = X_String_CRLF;\r
        \r
-       if( !text ) return '';\r
+       if( text == null || text === '' ) return '';\r
        \r
        //text.indexOf( CRLF )   !== -1 && ( text = text.split( CRLF ).join( _ ) );\r
-       text.indexOf( '\n\r' ) !== -1 && ( text = text.split( '\n\r' ).join( _ ) );\r
+       /*text.indexOf( '\n\r' ) !== -1 && ( text = text.split( '\n\r' ).join( _ ) );\r
        text.indexOf( '\t' )   !== -1 && ( text = text.split( '\t' ).join( _ ) );\r
        text.indexOf( '\r' )   !== -1 && ( text = text.split( '\r' ).join( _ ) );\r
        text.indexOf( '\n' )   !== -1 && ( text = text.split( '\n' ).join( _ ) );\r
        text.indexOf( '\f' )   !== -1 && ( text = text.split( '\f' ).join( _ ) );\r
-       text.indexOf( '\b' )   !== -1 && ( text = text.split( '\b' ).join( _ ) );\r
+       text.indexOf( '\b' )   !== -1 && ( text = text.split( '\b' ).join( _ ) ); */\r
+       \r
+       text = text.toString()\r
+                       .split( X_String_CRLF ).join( _ )\r
+                       .split( '\r' ).join( _ )\r
+                       .split( '\n' ).join( _ )\r
+                       .split( '\t' ).join( _ )\r
+                       .split( '\f' ).join( _ )\r
+                       .split( '\b' ).join( _ );\r
 \r
        while( true ){\r
                text = text.split( __ );\r
@@ -92,17 +102,19 @@ function X_String_cleanupWhiteSpace( text ){
 \r
 /**\r
  * 空白文字列を &lt;br&gt; に変換します。タブを &amp;nbsp; 4つに変換します。\r
+ * <p>undefined, null が与えられた場合は '' を返します。\r
+ * <p>数値,Object が与えられた場合は toString します。\r
  * @alias X.String.whiteSpaceToTag\r
  * @param {string}\r
  * @return {string} html文字列\r
  */\r
 function X_String_whiteSpaceToTag( text ){\r
-    if( text == null ) return '';\r
+    if( text == null || text === '' ) return '';\r
     return text.toString()\r
        //.split( '\r\n\r\n' ).join( '<br>' )\r
        //.split( '\n\r\n\r' ).join( '<br>' )\r
        //.split( '\r\n' ).join( '<br>' )\r
-       .split( '\n\r' ).join( '<br>' )\r
+       .split( X_String_CRLF ).join( '<br>' )\r
        .split( '\r' ).join( '<br>' )\r
        .split( '\n' ).join( '<br>' )\r
        .split( '\t' ).join( '&nbsp;&nbsp;&nbsp;&nbsp;' )\r
@@ -112,40 +124,44 @@ function X_String_whiteSpaceToTag( text ){
 \r
 /**\r
  * 一部の文字実体参照をデコードします。&quot;, &amp;, &lt;, &gt;, &nbsp;\r
+ * <p>undefined, null が与えられた場合は '' を返します。\r
+ * <p>数値,Object が与えられた場合は toString します。\r
  * @alias X.String.chrReferanceTo\r
  * @param {string}\r
  * @return {string} html文字列\r
  */\r
 function X_String_chrReferanceTo( str ){\r
-    if( str == null ) return '';\r
+    if( str == null || str === '' ) return '';\r
     return str.toString()\r
-       .split( '&quot;' ).join( '"' ) // first!\r
-       .split( '&amp;' ).join( '&' )\r
-       .split( '&lt;' ).join( '<' )\r
-       .split( '&gt;' ).join( '>' )\r
-       .split( '&nbsp;' ).join( ' ' );\r
+       .split( '&quot;' ).join( '"' )\r
+       .split( '&apos;' ).join( "'" )\r
+       .split( '&lt;'   ).join( '<' )\r
+       .split( '&gt;'   ).join( '>' )\r
+       .split( '&nbsp;' ).join( ' ' )\r
+       .split( '&amp;'  ).join( '&' ); // last!\r
 };\r
 \r
 /**\r
  * htmlタグで使われる文字を文字実体参照に変換します。&quot;, &amp;, &lt;, &gt;, &nbsp;\r
+ * <p>undefined, null が与えられた場合は '' を返します。\r
+ * <p>数値,Object が与えられた場合は toString します。\r
  * @alias X.String.chrReferanceTo\r
  * @param {string}\r
  * @return {string}\r
  */\r
 function X_String_toChrReferance( str ){\r
-    if( str == null ) return '';\r
-    str += '';\r
+    if( str == null || str === '' ) return '';\r
     return str.toString()\r
-       .split( '&' ).join( '&amp;' )\r
+       .split( '&' ).join( '&amp;' ) // first!\r
        .split( '"' ).join( '&quot;' )\r
-       .split( '"' ).join( '&apos;' )\r
+       .split( "'" ).join( '&apos;' )\r
        .split( '<' ).join( '&lt;' )\r
        .split( '>' ).join( '&gt;' )\r
        .split( ' ' ).join( '&nbsp;' );\r
 };\r
 \r
 /**\r
- * htmlタグで使われる文字を文字実体参照に変換します。&quot;, &amp;, &lt;, &gt;, &nbsp;\r
+ * 文字列化した数値か?調べます。\r
  * @alias X.String.isNumberString\r
  * @param {string}\r
  * @return {boolean}\r