Como comprobar la validez de un EAN13
1 min de lectura

Como comprobar la validez de un EAN13

116 palabras

Los EAN13 están compuestos por 13 dígitos de los cuales el último es de check.

Mediante la siguiente función en php se puede comprobar si un EAN está correctamente formado:

function isValidEAN( $ean ){
	$ean =(string)$ean;
	// Debe tener 13 caracteres
	if ( strlen( $ean ) != 13 ) {
		return false ;
	}
	$even_sum = $ean{1} + $ean{3} + $ean{5} + $ean{7} + $ean{9} + $ean{11};
	$even_sum_three = $even_sum * 3;
	$odd_sum = $ean{0} + $ean{2} + $ean{4} + $ean{6} + $ean{8} + $ean{10};
	$total_sum = $even_sum_three + $odd_sum;
	$next_ten = (ceil($total_sum/10))*10;
	$check_digit = $next_ten - $total_sum;
	$valid = substr( $ean, 0, 12 ) . $check_digit ;
	return  ( $ean  == $valid ) ;
}

Comentarios

Artículos relacionados

14 min

2873 palabras

La Filament v4 Beta ha llegado oficialmente, y es sin duda la actualización más ambiciosa y completa en la historia de este framework. Después de explorar en detalle todas las nuevas características, puedo afirmar que esta versión representa un salto cuántico en términos de rendimiento, facilidad de uso y capacidades de desarrollo.

En este análisis exhaustivo, vamos a explorar cada una de las nuevas características de Filament v4, explicando no solo qué es nuevo, sino también cómo estas mejoras pueden transformar tu flujo de trabajo y las posibilidades de tus aplicaciones.

6 min

1247 palabras

Idempotencia en Laravel: Cómo Evitar Duplicados en tus APIs con Elegancia

En el desarrollo de APIs modernas, uno de los desafíos más críticos es garantizar que las operaciones no se ejecuten múltiples veces de forma accidental. Imagina un usuario que realiza un pago y, por problemas de conectividad, hace clic varias veces en el botón “Pagar”. Sin las medidas adecuadas, podrías procesar múltiples pagos por la misma transacción. Aquí es donde entra en juego la idempotencia.

4 min

804 palabras

El equipo de Filament ha anunciado emocionantes detalles sobre el próximo lanzamiento de Filament v4 Beta, y sin duda es la versión más esperada hasta la fecha. Filament v4 es el lanzamiento más grande y repleto de características que Filament haya tenido nunca, superando incluso a la masiva v3 que requirió más de 100 versiones menores.

Las características más destacadas de Filament v4

Recursos Anidados (Nested Resources)

Una de las solicitudes más longevas de la comunidad finalmente se hace realidad. Los recursos anidados permiten operar sobre un recurso de Filament dentro del contexto de un recurso padre.

1 min

106 palabras

Options Pattern in Golang

Option pattern is a functional programming pattern that is used to provide optional arguments to a function that can be used to modify its behavior.

How to create a simple event streaming in Laravel?

Event streams provide you with a way to send events to the client without having to reload the page. This is useful for things like updating the user interface in real-time changes are made to the database.

5 min

982 palabras

Momentos de cambios, momentos de evolución, una constante en mi vida, con el 25 aniversario de la creación de la web he entrado en modo “revisión” y estoy altamente desconcertado.

Llevo el mismo tiempo (25 años) haciendo cosas, disfrutando, siempre con el mismo concepto y particularidad: Disfrute y resultado, pero ya hace mucho que no es relevante (cosa que tambien es poco relevante).

Me he dado cuenta que lo habitual es hacer cosas dentro de tu zona de confort, y yo nunca he tenido una ni he sabido que podía existir, de ahí que haya tocado y hecho cosas poco usuales o quizás a “destiempo”, cuando cierta tecnología se podía de moda “Buzz” hacía tiempo que no lo utilizaba porque no me aportaba lo que me aportaba otra cosa, …

2 min

375 palabras

Estos últimos días hemos tenido muchas novedades, artículos, informaciones, en el mundo del desarrollo y tecnología, estas son las más relevantes para mi: