"Hello" returns true
"12345" returns true
"Hello1" returns false
"123H" returns false
¿Es posible la expresión regular solo letras y números excepto ambos?
o
Comprobar la función de PHP?
Respuestas
1 para la respuesta № 1^(?=(?:d+|[a-zA-Z]+)$)[a-zA-Z0-9]+$
Otra variación. Ver demo.
https://regex101.com/r/sH8aR8/11
$re = "/^(?=(?:\d+|[a-zA-Z]+)$)[a-zA-Z0-9]+$/m";
$str = "Hellon12345nHello1n123H";
preg_match_all($re, $str, $matches);
2 para la respuesta № 2
Regex:
/^[A-za-z]*|[0-9]*$/
Verifique el comienzo de la línea, luego cualquier número de letras O cualquier número de números, luego el final de la línea.
Una línea en blanco devolverá verdadero. Si eso es un problema, cambie el *
a un +
.
2 para la respuesta № 3
Podrías usar algo así: ^([A-Za-z]+)|([0-9]+)$
. Esto asegurará que la cadena esté llena de letras exclusivamente o números exclusivamente, pero no ambos.
Puedes comprobar la expresión regular aquí.