Foros del Web » Programando para Internet » PHP »

codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Estas en el tema de codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd en el foro de PHP en Foros del Web. Buenas necesito crear un numero aleatorio de 8 digitos pero en 2 bloques por lo general los códigos se generan así: 1R4JJ0WA yo lo necesito ...
  #1 (permalink)  
Antiguo 17/12/2012, 14:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 78
Antigüedad: 13 años, 7 meses
Puntos: 0
Sonrisa codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Buenas necesito crear un numero aleatorio de 8 digitos pero en 2 bloques

por lo general los códigos se generan así:

1R4JJ0WA

yo lo necesito asi WRJM-1475


como se puede generar de esa manera ,

muchas gracias
  #2 (permalink)  
Antiguo 17/12/2012, 14:22
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 7 meses
Puntos: 130
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Porque no generas las dos cadenas aleatoriamente y luego las unes? ;) seria una opcion :P
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #3 (permalink)  
Antiguo 17/12/2012, 15:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 78
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Cita:
Iniciado por CoriaWeb Ver Mensaje
Porque no generas las dos cadenas aleatoriamente y luego las unes? ;) seria una opcion :P
Hola CoriaWeb es precisamente lo que no quiero hacer para no cargar de codigo la pagina.

busco una opcion que no tenga que hacer eso.

Gracias
  #4 (permalink)  
Antiguo 17/12/2012, 15:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Vaya, pues entonces quieres hacer todo mas complicado aún.

¿Por qué crees que llenarías de código la pagina?

Me parece que no sabes ni lo que dices.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 17/12/2012, 15:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 78
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Cita:
Iniciado por pateketrueke Ver Mensaje
Vaya, pues entonces quieres hacer todo mas complicado aún.

¿Por qué crees que llenarías de código la pagina?

Me parece que no sabes ni lo que dices.



Hola pateketrueke tu crees que lo mejor es generar 2 codigos y unirlos ?
  #6 (permalink)  
Antiguo 17/12/2012, 15:31
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

No deberías preocuparte por algo tan trivial, generar dos strings de 4 dígitos no va a sobrecargar nada, de todas formas es algo sencillo generarlo en una llamada directamente y debe haber miles de ejemplos desperdigados por la web, cualquier cosa postea el código que tengas.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 17/12/2012, 17:32
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 7 meses
Puntos: 130
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Mira hice esto, haber si te sirve:


Código PHP:
Ver original
  1. <?php
  2. function generar_letras($longitud){
  3.        $cadena="[^A-Z]";
  4.        return substr(eregi_replace($cadena, "", md5(rand())) .
  5.        eregi_replace($cadena, "", md5(rand())) .
  6.        eregi_replace($cadena, "", md5(rand())),
  7.        0, $longitud);
  8. }
  9. function generar_numeros($longitud){
  10.        $cadena="[^0-9]";
  11.        return substr(eregi_replace($cadena, "", md5(rand())) .
  12.        eregi_replace($cadena, "", md5(rand())) .
  13.        eregi_replace($cadena, "", md5(rand())),
  14.        0, $longitud);
  15. }
  16. $numero=generar_numeros(4);
  17. $texto=generar_letras(4);
  18.  
  19. echo "El código final es: ".$numero."-".$texto;
  20. ?>

Puedes adaptarlo a tu gusto.
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #8 (permalink)  
Antiguo 17/12/2012, 19:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 78
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Cita:
Iniciado por CoriaWeb Ver Mensaje
Mira hice esto, haber si te sirve:


Código PHP:
Ver original
  1. <?php
  2. function generar_letras($longitud){
  3.        $cadena="[^A-Z]";
  4.        return substr(eregi_replace($cadena, "", md5(rand())) .
  5.        eregi_replace($cadena, "", md5(rand())) .
  6.        eregi_replace($cadena, "", md5(rand())),
  7.        0, $longitud);
  8. }
  9. function generar_numeros($longitud){
  10.        $cadena="[^0-9]";
  11.        return substr(eregi_replace($cadena, "", md5(rand())) .
  12.        eregi_replace($cadena, "", md5(rand())) .
  13.        eregi_replace($cadena, "", md5(rand())),
  14.        0, $longitud);
  15. }
  16. $numero=generar_numeros(4);
  17. $texto=generar_letras(4);
  18.  
  19. echo "El código final es: ".$numero."-".$texto;
  20. ?>

Puedes adaptarlo a tu gusto.
Coria Web eso es justamente lo que buscaba muchismas gracias por tomarte el tiempo para ayudarme.

Dios te bendiga.
  #9 (permalink)  
Antiguo 17/12/2012, 21:59
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 7 meses
Puntos: 130
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

De nada estamos para ayudar ;)
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #10 (permalink)  
Antiguo 18/12/2012, 00:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Tengo la impresión de que el manejo de expresiones regulares podría no ser tan óptimo, aparte de que las funciones ereg* son obsoletas y, en su lugar, se recomienda preg*.
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 18/12/2012, 00:39
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Buenas, hago mi aportación, ya que también tuve temas con los aleatorios...:

Código PHP:
Ver original
  1. function getRandom(){
  2.   $letras = "";
  3.   $num = "";
  4.  
  5.   for($i=0;$i<4;$i++){
  6.     $letras .= chr(rand(65, 122); //entre 33 y 126 están los ASCII que se pueden representar. Entre 65 y 122 están las letras
  7.   }
  8.  
  9.   for($i=0;$i<4;$i++){
  10.     $num .= rand(0, 9);
  11.   }
  12.  
  13.   return $letras."-".$num;
  14. }

Personalmente veo más rápido hacer algo así que usar expresiones regulares... (es solo mi opinión personal, que conste!)

Saludos y espero os sirva.
  #12 (permalink)  
Antiguo 18/12/2012, 23:47
 
Fecha de Ingreso: septiembre-2010
Mensajes: 78
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Cita:
Iniciado por DoHITB Ver Mensaje
Buenas, hago mi aportación, ya que también tuve temas con los aleatorios...:

Código PHP:
Ver original
  1. function getRandom(){
  2.   $letras = "";
  3.   $num = "";
  4.  
  5.   for($i=0;$i<4;$i++){
  6.     $letras .= chr(rand(65, 122); //entre 33 y 126 están los ASCII que se pueden representar. Entre 65 y 122 están las letras
  7.   }
  8.  
  9.   for($i=0;$i<4;$i++){
  10.     $num .= rand(0, 9);
  11.   }
  12.  
  13.   return $letras."-".$num;
  14. }

Personalmente veo más rápido hacer algo así que usar expresiones regulares... (es solo mi opinión personal, que conste!)

Saludos y espero os sirva.

Gracias DoHITB por el codigo;

me da un error en la linea 6 sabes que podria ser?

Gracias
  #13 (permalink)  
Antiguo 19/12/2012, 00:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Será que falta cerrar un paréntesis?

Si usas un editor con coloreado de sintáxis como Notepad++ o similar, podrás localizar ese error fácilmente.
__________________
- León, Guanajuato
- GV-Foto
  #14 (permalink)  
Antiguo 19/12/2012, 00:46
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: codigo aleatorio en 2 bloques 4 letras y 4 numeros 1234-abcd

Cita:
Iniciado por Triby Ver Mensaje
Será que falta cerrar un paréntesis?

Si usas un editor con coloreado de sintáxis como Notepad++ o similar, podrás localizar ese error fácilmente.
Cierto, me dejé por cerrar un paréntesis...

Etiquetas: bloques, letras, numeros, aleatoria
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 10:45.