Validar dni
Publicado por juan (2 intervenciones) el 09/02/2009 00:13:45
Hola.
Tengo un textbox con una mascar para el dni y quiero verificar quela letra del dni es correcta y me dice siempre que que esta mal. Aqui os dejo el codigo a ver si me podeis ayudar.
Private Sub D_N_IMaskedTextBox_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles D_N_IMaskedTextBox.Validating
Dim letras As String = "TRWAGMYFPDXBNJZSQVHLCKE"
Dim nifnum As Integer
Dim nif As String = D_N_IMaskedTextBox.Text
Dim valido As Boolean = True
If Not System.Text.RegularExpressions.Regex.IsMatch(nif, "^d{8}[" & letras & "] $") Then
valido = False
Else
nifnum = Integer.Parse(nif.Substring(0, nif.Length - 1))
If Not (nif(8) = letras(nifnum Mod 23)) Then
valido = False
End If
End If
If Not valido Then
e.Cancel = True
ErrorProvider1.SetError(D_N_IMaskedTextBox, "El D.N.I introducido no es correcto")
Else
e.Cancel = False
ErrorProvider1.SetError(D_N_IMaskedTextBox, Nothing)
End If
End Sub
Tengo un textbox con una mascar para el dni y quiero verificar quela letra del dni es correcta y me dice siempre que que esta mal. Aqui os dejo el codigo a ver si me podeis ayudar.
Private Sub D_N_IMaskedTextBox_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles D_N_IMaskedTextBox.Validating
Dim letras As String = "TRWAGMYFPDXBNJZSQVHLCKE"
Dim nifnum As Integer
Dim nif As String = D_N_IMaskedTextBox.Text
Dim valido As Boolean = True
If Not System.Text.RegularExpressions.Regex.IsMatch(nif, "^d{8}[" & letras & "] $") Then
valido = False
Else
nifnum = Integer.Parse(nif.Substring(0, nif.Length - 1))
If Not (nif(8) = letras(nifnum Mod 23)) Then
valido = False
End If
End If
If Not valido Then
e.Cancel = True
ErrorProvider1.SetError(D_N_IMaskedTextBox, "El D.N.I introducido no es correcto")
Else
e.Cancel = False
ErrorProvider1.SetError(D_N_IMaskedTextBox, Nothing)
End If
End Sub
Valora esta pregunta


0