Yo puse en una web un formulario de contacto pero quería que sólo españoles pudieran utilizarlo, así que puse dos campos: el DNI, y la letra del NIF, es decir, la letra que va al final del DNI. Antes de enviarse el formulario, unas rutinas en javascript comparan el DNI y el NIF y si no concuerdan, no envía el formulario. Esto es posible porque para calcular el NIF, la letra, se utiliza una regla fija, así que siempre se cumple. En cuanto a la LOPD no hay que preocuparse puesto que ni el DNI ni el NIF se envían, tan sólo se utilizan para hacer la comparación. Por otra parte, a efectos legales almacenar e-mails es tan importante como almacenar números de DNI, ¿no? Bueno, eso es otro asunto...
Tú dirás si te interesa...