Estoy tratando de usar expresiones regulares para verificar si la entrada del usuario está en el formato correcto xx-xx (la entrada solo acepta números, no acepta caracteres alfanuméricos)
Intenté: /[1-9]{1,}\-[1-9]{1,}/ pero al ingresar caracteres alfabéticos todavía paso esta prueba.
Pueden ayudarme chicos. Gracias.
Su expresión regular está bien, solo necesita agregar afirmaciones posicionales, "^" para el comienzo de la cadena y "$" para el final de la cadena:
/^[1-9]{2}\-[1-9]{2}$/Es mejor poner "{2}" si solo quieres xx-xx
/\d{2}-\d{2}/Trabajó para mi.
Desglose:
\d busca un carácter de dígito, es decir, 0-9.
{2} busca específicamente dos dígitos uno al lado del otro.
- solo comprueba el carácter de guión.
Por otro lado, puedes tener varios casos dependiendo de lo que busques precisamente.
En caso de que acepte que un valor xx-xx puede ser 00-00 y cualquier otro valor, debe usar esta expresión regular en su lugar:
/^\d{2}-\d{2}$/En caso de que acepte que un valor xx-xx nunca es 00-00 pero puede ser 01-03 y cualquier otro valor, pero nunca 00-00, debe usar esta expresión regular (un poco larga, lo siento, pero hace el trabajo perfectamente) :
/^[1-9](?=[0-9])[0-9]-[1-9](?=[0-9])[0-9]$|^[0-9](?=[1-9])[1-9]-[0-9](?=[1-9])[1-9]$/Disfrutar !