Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/12/2011, 18:49
-thor-
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: ¿Como cortar cadena al principio y final?

Código PHP:
CadenaArreglada=cadena1.replace(/04*/,'')
CadenaArreglada=CadenaArreglada.substring(0,6) ;
}
else{
CadenaArreglada=cadena2.replace(/04$/,'');}
CadenaArreglada=CadenaArreglada.substring(0,6); 
Aqui intente hacerlo con expresiones regulares y me resulto de esa forma, es que no sabia como dejar todo en una misma expresion, la cual me eliminare esos valores al principio y al final.


Cita:
Iniciado por _cronos2 Ver Mensaje
¿Por qué no intentas mejor como dijo @zerokilled?
Código Javascript:
Ver original
  1. var customTrim = function(str){
  2.  return str.replace(/^04|04$/g, '');
  3. }

Voy hacerlo de la forma que menciono @zerokilled y siguiendo tus ejemplo :). ¿Que significa la letra /g? entonces aqui return str.replace(/^04|04$/g, ''); me estaria quitando el 04 al principio y al final, verdad?

Código Javascript:
Ver original
  1. var customTrim = function(trim){
  2.  return function(str){
  3.   return str.replace(new RegExp(['^', '|', '$'].join(trim), 'g'), '');
  4.  }
  5. }
  6.  
  7. var customTrim04 = customTrim('04');
  8. customTrim04('04abcdef04'); // "abcdef"

me podrias explicar esta linea new RegExp(['^', '|', '$'].join(trim), 'g'), '');, en especial que funcionalidad tiene join?

Esta parte me complica, porque no sé realmente como dividir los numeros para dejar eso que necesito y lo intente usando la funcion substring, esa forma estaria correcta? o se realiza de otra manera.

Lo que pasa es que debo leer una tarjetas con una pistola laser y esa informacion consulta una base de datos, sin embargo, al momento de pasar la pistola sobre el codigo de barra le agrega 04 al principio o al final, tambien en otra combinacion le agrega solamente 0 en el principio o al final del codigo.

por ejemplo yo necesito el valor 4563 y la pistola al momento de leer la tarjeta me lo deja como 04456304 o unicamente un 0 al final.
¿Existe otra foma de eliminar los numeros que no necesito? o debo seguir con el ejemplo que me has dado para lograrlo, aunque de mi manera me resulto, mas si hay otra forma mejor obvio que la implementare.
gracias