Patron para el NIF en HTML5

Para conseguir un patrón con expresión regular para HTML5 que permita filtrar los NIFs españoles formados por 8 dígitos más una letra y los NIFs o números de extranjería formados por una letra 8 dígitos y una letra, se puede utilizar en la directiva pattern la siguiente expresión regular que funciona a la perfección.

Este es el patrón para el NIF (([X-Z]{1})([-]?)(\d{7})([-]?)([A-Z]{1}))|((\d{8})([-]?)([A-Z]{1}))

 

<input type="text" placeholder="DNI" class="form-control" size="10"  maxlength="9" name="nif" pattern="(([X-Z]{1})([-]?)(\d{7})([-]?)([A-Z]{1}))|((\d{8})([-]?)([A-Z]{1}))" title="Introduzca el dni"  value="<?php echo $row['NIF'];?>" required>

 


Comentarios

4 respuestas a «Patron para el NIF en HTML5»

  1. como puedo validar un DNI cubano, ayudeme quien pueda, saludos

    1. Una pregunta, el dni cubano son 11 dígitos del 0 al 9 no es así?

  2. Avatar de Curso Web
    Curso Web

    Buenos días a todos. Para preguntar si se puede definir un pattern para el DNI o NIE que además de determinar los números y letras y su posición, permita verificar que la letra colocada sea la correcta, porque, por ejemplo, para el DNI nº 12345678 la letra correcta es la Z, que en PHP se define algo así parecido: letracorrecta=numeros%23. Pero como puedo insertar esto en la expresión anterior? Gracias por la pronta respuesta que le den al presente.

    1. Entiendo que esto en un patrón con expresiones regulares no se podrá hacer, deberá hacerse una verificación el dni o nie con una función de javascript (https://donnierock.com/2011/11/05/validar-un-dni-con-javascript/) y que se llame desde un evento en el campo del formulario cuando se desee, o on click o al salir del campo, perder el foco,…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.