fckjscoreextensions.js
上传用户:ah_jiwei
上传日期:2022-07-24
资源大小:54044k
文件大小:4k
源码类别:

数据库编程

开发平台:

Visual C++

  1. /*
  2.  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
  3.  * Copyright (C) 2003-2007 Frederico Caldeira Knabben
  4.  *
  5.  * == BEGIN LICENSE ==
  6.  *
  7.  * Licensed under the terms of any of the following licenses at your
  8.  * choice:
  9.  *
  10.  *  - GNU General Public License Version 2 or later (the "GPL")
  11.  *    http://www.gnu.org/licenses/gpl.html
  12.  *
  13.  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
  14.  *    http://www.gnu.org/licenses/lgpl.html
  15.  *
  16.  *  - Mozilla Public License Version 1.1 or later (the "MPL")
  17.  *    http://www.mozilla.org/MPL/MPL-1.1.html
  18.  *
  19.  * == END LICENSE ==
  20.  *
  21.  * Extensions to the JavaScript Core.
  22.  *
  23.  * All custom extensions functions are PascalCased to differ from the standard
  24.  * camelCased ones.
  25.  */
  26. String.prototype.Contains = function( textToCheck )
  27. {
  28. return ( this.indexOf( textToCheck ) > -1 ) ;
  29. }
  30. String.prototype.Equals = function()
  31. {
  32. var aArgs = arguments ;
  33. // The arguments could also be a single array.
  34. if ( aArgs.length == 1 && aArgs[0].pop )
  35. aArgs = aArgs[0] ;
  36. for ( var i = 0 ; i < aArgs.length ; i++ )
  37. {
  38. if ( this == aArgs[i] )
  39. return true ;
  40. }
  41. return false ;
  42. }
  43. String.prototype.IEquals = function()
  44. {
  45. var thisUpper = this.toUpperCase() ;
  46. var aArgs = arguments ;
  47. // The arguments could also be a single array.
  48. if ( aArgs.length == 1 && aArgs[0].pop )
  49. aArgs = aArgs[0] ;
  50. for ( var i = 0 ; i < aArgs.length ; i++ )
  51. {
  52. if ( thisUpper == aArgs[i].toUpperCase() )
  53. return true ;
  54. }
  55. return false ;
  56. }
  57. String.prototype.ReplaceAll = function( searchArray, replaceArray )
  58. {
  59. var replaced = this ;
  60. for ( var i = 0 ; i < searchArray.length ; i++ )
  61. {
  62. replaced = replaced.replace( searchArray[i], replaceArray[i] ) ;
  63. }
  64. return replaced ;
  65. }
  66. String.prototype.StartsWith = function( value )
  67. {
  68. return ( this.substr( 0, value.length ) == value ) ;
  69. }
  70. // Extends the String object, creating a "EndsWith" method on it.
  71. String.prototype.EndsWith = function( value, ignoreCase )
  72. {
  73. var L1 = this.length ;
  74. var L2 = value.length ;
  75. if ( L2 > L1 )
  76. return false ;
  77. if ( ignoreCase )
  78. {
  79. var oRegex = new RegExp( value + '$' , 'i' ) ;
  80. return oRegex.test( this ) ;
  81. }
  82. else
  83. return ( L2 == 0 || this.substr( L1 - L2, L2 ) == value ) ;
  84. }
  85. String.prototype.Remove = function( start, length )
  86. {
  87. var s = '' ;
  88. if ( start > 0 )
  89. s = this.substring( 0, start ) ;
  90. if ( start + length < this.length )
  91. s += this.substring( start + length , this.length ) ;
  92. return s ;
  93. }
  94. String.prototype.Trim = function()
  95. {
  96. // We are not using s because we don't want "non-breaking spaces to be caught".
  97. return this.replace( /(^[ tnr]*)|([ tnr]*$)/g, '' ) ;
  98. }
  99. String.prototype.LTrim = function()
  100. {
  101. // We are not using s because we don't want "non-breaking spaces to be caught".
  102. return this.replace( /^[ tnr]*/g, '' ) ;
  103. }
  104. String.prototype.RTrim = function()
  105. {
  106. // We are not using s because we don't want "non-breaking spaces to be caught".
  107. return this.replace( /[ tnr]*$/g, '' ) ;
  108. }
  109. String.prototype.ReplaceNewLineChars = function( replacement )
  110. {
  111. return this.replace( /n/g, replacement ) ;
  112. }
  113. String.prototype.Replace = function( regExp, replacement, thisObj )
  114. {
  115. if ( typeof replacement == 'function' )
  116. {
  117. return this.replace( regExp, 
  118. function() 
  119. return replacement.apply( thisObj || this, arguments ) ; 
  120. } ) ;
  121. }
  122. else
  123. return this.replace( regExp, replacement ) ;
  124. }
  125. Array.prototype.AddItem = function( item )
  126. {
  127. var i = this.length ;
  128. this[ i ] = item ;
  129. return i ;
  130. }
  131. Array.prototype.IndexOf = function( value )
  132. {
  133. for ( var i = 0 ; i < this.length ; i++ )
  134. {
  135. if ( this[i] == value )
  136. return i ;
  137. }
  138. return -1 ;
  139. }