14.4.08

Objeto String de Javascript - Extensiones útiles

Recopilando un poco de funciones que tenía por aquí y por allá, más algunas otras encotradas en la web, de personas que se las han ingeniado para extender el magro objeto String de Javascript, les dejo aquí el código fuente de algunas utilidades añadidas al objeto origial. Espero les sean útiles. Y si tienen sugerencias, por favor acerquen el código para compartir con todos.

String.prototype.left = function(n){
  // Devuelve los n primeros caracteres de la cadena
  var s = this.toString()
  if(n>s.length) {
      n=t.length
  }

  return s.substring(0, n)
}

String.prototype.right = function(n){
  // Devuelve los n últimos caracteres de la cadena
  var s = this.toString()
  var t=s.length

  if(n>t) {
      n=t
  }

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

String.prototype.mid = function(n, c){
  // Devuelve una cadena desde la posición n, con c caracteres
  // 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)
}

String.prototype.lTrim = function(){
  // Devuelve una cadena sin los espacios del principio
  var s = this.toString()
  if( s.length == 0 ) { return s }
  if( s == ' ' ) { return '' }

  // Busca el primer caracter <> de un espacio
  for(var i=0; i<=s.length-1; i++)
  {
      if(s.substring(i,i+1) != ' ')
      {
          var j=i
          break
      }
  }
  return s.substring(j, s.length)
}

String.prototype.rTrim = function(){
  // Quita los espacios en blanco del final de la cadena
  var s = this.toString()
  var j=0

  if( s.length == 0 ) { return s }
  if( s == ' ' ) { return '' }

  // Busca el último caracter <> de un espacio
  for(var i=s.length-1; i>-1; i--) {
      if(s.substring(i,i+1) != ' ')
      {
          j=i
          break
      }
  }

  return s.substring(0, j+1)
}

String.prototype.trim = function(){
  // Quita los espacios del principio y del final
  var s = this.toString()

  return s.replace(/^\s+|\s+$/g,"")
}

String.prototype.strReverse = function(){
  // Invierte la cadena
  var s = this.toString()
  var i=s.length
  var t=""

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

  return t
}

String.prototype.contains = function(t) {
  //verdadero si el string contiete el contenido de t
  return (this.indexOf(t) >= 0)
}

String.prototype.countOf = function(char) {
  // cuanta las ocurrencias de un string dentro de este
  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
}


String.prototype.numberPart = function() {
  //retorna la parte numerica de un string alfanumerico
  return this.replace(/[^0-9|.|-]/g, '')
}

0 Comentarios: