Código PHP:
$username = preg_replace('([^A-Za-z0-9])', '', $username);
| |||
solo permitir nombre usuario alfanuméricos Necesito agregar a un formulario un filtro para el nombre de usuario. Solo quiero permitir letras y números y espacios. Ahora tengo esto... Código PHP: |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Podrías darme algún ejemplo de como aceptar también los espacios en esa expresión regular? o hay alguna función php que haga eso? |
| ||||
Respuesta: solo permitir nombre usuario alfanuméricos Exactamente como te lo dice pateketrueke, añadiendo al grupo un \s, que representa un espacio en blanco. También puede añadir un espacio en blanco literalmente. Saludos
__________________ «Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío». ― Ayn Rand |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Ok antes de nada gracias a los dos por contestarme ;) Acabo de solucionarlo!! aunque lo he hecho de otra forma y no se si es una chapuza jejeje aunque funciona perfecto. He hecho esto ahora... Código PHP: Con la \s no se como debo hacerlo o el espacio en blanco. Soy muy torpe, lo se :) |
| ||||
Respuesta: solo permitir nombre usuario alfanuméricos Cita: Es que dado el uso de preg_replace() significaría "elimina todo lo que no sea tal cosa" de la cadena, no más.No es tal cual una "validación" sino mas bien un "filtro".
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| ||||
Respuesta: solo permitir nombre usuario alfanuméricos Para validar cadena alfanumerica es mejor ctype_albnum()
__________________ Busca, lee y practica todo lo que puedas. Usa siempre el buscador antes de postear. Si posteas código, utiliza el HIGHLIGHT correcto. |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Bueno como dice PHPeros funciona perfecto. Disculpar mi ignorancia pero... ¿sabéis de algún tutorial sobre expresiones regulares? Mi pregunta ahora sería si esta es la forma más segura o la mejor de evitar nombres de usuario "raros". No se si podría hacerlo de una forma más segura. Esto es todo lo que tengo puesto... Código PHP: Eso si, me acabo de dar cuenta que me elimina también las tildes. |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Gracias xSkArx, ya estoy mirando el manual de esa función. Por lo que veo esto si sería validación verdad? Haré pruebas ;) |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Bueno ahora ya he conseguido que permita nombres de solo letras, números, espacios y tildes. Y generar la url eliminando las tildes. Código PHP: Aquí el nombre de usuario: |Daniel García| Aquí la url de usuario: |daniel-garcia| Pero como esto es con expresiones regulares ahora voy a probar la función que me decía xSkArx. |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Ahora estoy probando la función ctype_alnum. Pero no permite espacios ni tildes. Alguna solución? Código PHP: |
| ||||
Respuesta: solo permitir nombre usuario alfanuméricos Cita: Me imagino que usando algo de lógica, ¿no te parece?
Código PHP:
Ver original Vamos, que una sola función no va a hacer todo el trabajo, tu tienes que implementar dicha lógica de un modo u otro.
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Ok probaré, gracias por contestar ;) Aunque así de primeras pensando.... con ese if seguiría teniendo que cumplirse la condición de la función ctype_alnum ¿no? Si le digo que se cumpla una condición y la otra, y una de ellas le digo que acepte tildes y espacios pero la otra no los permite, ¿no habría una contradicción? Si pongo "Daniel García"... Código PHP: |
| ||||
Respuesta: solo permitir nombre usuario alfanuméricos Mira estohttp://www.php.net/manual/es/function.ctype-alnum.php#92393
__________________ Busca, lee y practica todo lo que puedas. Usa siempre el buscador antes de postear. Si posteas código, utiliza el HIGHLIGHT correcto. |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Gracias xSkArx ;) haré pruebas a ver si lo consigo. |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Ya conseguí hacerlo como quería con la función ctype_alnum... Código PHP: |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos primero elimina los espacios en blanco
Código PHP:
Ver original
__________________ cada vez que aprendes algo te crees que no sabes nada |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Cita: Si arros, este código lo tengo dentro de una función y la función trim es lo primero que tengo puesto ;)
Iniciado por arros primero elimina los espacios en blanco
Código PHP:
Ver original |
| |||
Respuesta: solo permitir nombre usuario alfanuméricos Ahora resulta que al meter ese código en una función, que está en otra página php, deja de funcionar. He probado el mismo código y funciona perfecto sin función. Alguna sugerencia? puede ser algo de codificación de la página donde está la función o de donde la llama? |
Etiquetas: |