Extensiones para el Objeto String en Javascript

p>En mi post anterior escribí sobre como se podían extender los metodos para el objeto String (trim,ltrim,rtrim),
viendo la necesidad de mas metodos reutilizables en nuestras aplicaciones, pongo algunas extensiones muy utilizadas
a la hora de desarrollar un sitio web.

left: Nos devolverá los n primeros caracteres de una cadena

String.prototype.left = function(n){

  var s = this.toString()
  
  if(n>s.length)
  {
      n=t.length
  }

  return s.substring(0, n)
}

right: Nos devolverá los n últimos caracteres de la cadena

String.prototype.right = function(n){

  var s = this.toString()
  var t=s.length

  if(n>t) 
  {
      n=t
  }

  return s.substring(t-n, t)
}

mid: Nos devolverá una cadena desde la posición n, con c caracteres

String.prototype.mid = function(n, c){

  // Si c = 0 devolver toda la cadena desde la posición 
  var s = this.toString()

  // Si sólo se pasan los dos primeros argumentos
  if(arguments.length<2) {
      c=s.length-n+1
  }
  if(c<1) {
      c=s.length-n+1
  }
  if(n+c >s.length) {
     c=s.length-n+1
  }
  if(n>s.length) {
      return ""
  }

  return s.substring(n-1,n+c-1)
}

strReverse: Nos devuelve la cadena invertida

String.prototype.strReverse = function(){

  var s = this.toString()
  var i=s.length
  var t=""

  while(i>-1){
      t=t+ s.substring(i,i+1)
      i--
  }

  return t
}

contains: Nos devuelve true si encuentra la cadena

String.prototype.contains = function(t) {

  return (this.indexOf(t) >= 0)
}

countOf: Devuelve el numero de ocurrencias de la cadena

String.prototype.countOf = function(char) {

  var count = 0
  var len = this.toString.length

  if(char.length > len) { return 0 }
  for (i = 0; i < len; i++) {
      (this.charAt(i)==char) ? count++ : ''
  }

  return count
}

numberPart: Nos devuelve la parte numérica de una cadena alfanumérica

String.prototype.numberPart = function() {
  
  return this.replace(/[^0-9|.|-]/g, '')
}

ucFirst: Nos devolverá la cadena con la primera letra en mayúsculas

String.prototype.ucFirst = function () {
    str = this.toString();
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1, str.length-1);
}

ucWords: Nos devolverá la cadena con la primera letra de cada palabra en mayúsculas

String.prototype.ucWords = function () {
     str = this.toString();
    return (str+'').replace(/^(.)|s(.)/g, function ( $1 ) { return $1.toUpperCase ( ); } );
}

Recursos