Extensiones para el Objeto String en Javascript

0
54

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