Foros del Web » Programando para Internet » Javascript »

dividir una cadena en dos?

Estas en el tema de dividir una cadena en dos? en el foro de Javascript en Foros del Web. ke tal quisiera si algien sabe cómo poder cortar una cadena str="xxxxxxxx-d" y almacenarlas en dos cadenas a="xxxxxxxx" y b="d" eliminando el guion "-" Gracias...
  #1 (permalink)  
Antiguo 02/05/2004, 00:01
 
Fecha de Ingreso: diciembre-2003
Mensajes: 31
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta dividir una cadena en dos?

ke tal quisiera si algien sabe cómo poder cortar una cadena str="xxxxxxxx-d"
y almacenarlas en dos cadenas a="xxxxxxxx" y b="d" eliminando el guion "-"

Gracias
__________________
el que madruga...
...ta muerto e sueño
  #2 (permalink)  
Antiguo 02/05/2004, 00:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola mrtorch:

El método split aplicado alas cadenas, las convierte en un array separando los elementos por su parámetro...

str="xxxxxxxx-d";
nuevo_str = str.split("-");

Con esto se genera nuevo_str como un array de 2 elementos:

nuevo_str[0] = "xxxxxxxx";
// ...y
nuevo_str[1] = "d";

Saludos
  #3 (permalink)  
Antiguo 05/05/2004, 00:17
 
Fecha de Ingreso: diciembre-2003
Mensajes: 31
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias caricatos me resulto de maravilla.

yo he usado la funcion "split()" con Visual Basic, pero no sabía que existia tambien para js.

Por si le interesa a algun chileno, dividir esa cadena, la cual corresponde en realidad al n° de RUT (chile), permite validar este mismo, verificando si el digito verificador está correcto.
con esta funcion:

function isRut (s) // "s" es el RUT ingresado como xxxxxxxx-x
{
var rut=s.split("-");
var rutL=rut[0];
var dgv=rut[1];

var count=0;
var count2=0;
var factor=2;
var suma=0;
var sum=0;
var digito=0;
count2=rutL.length - 1;

while(count < rutL.length)
{ sum = factor * (parseInt(rutL.substr(count2,1)));
suma = suma + sum;
sum=0;
count = count + 1;
count2 = count2 - 1;
factor = factor + 1;

if(factor > 7) factor=2;
}

digito= 11 - (suma % 11)

if(digito==11)digito=0;
if(digito==10)digito="k";

if(digito==dgv)
{ // alert("esta OK");
return true;}
else {
// alert("RUT incorrecto");
return false;

}
}


Espero le sirva a alguien.
Saludos desde Chile lindo...
__________________
el que madruga...
...ta muerto e sueño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:27.