none
Validar RUC-Peru y Emails RRS feed

  • Pregunta

  • Si tengo un formulario 2 textbox

    Ingresar Numero RUC:  txtruc

    Ingresar Correo: txtcorreo

    Como puedo obtener la validacion de lo que voy ingresando y si es correcto lo permite sino muestre mje.

    PARA QUE NO SE INGRESEN DATOS INVENTADOS Y SEAN REALES.

    Gracias


    • Cambiado Enrique M. Montejo jueves, 5 de mayo de 2016 5:56 Pregunta relacionada con controles de Windows Forms.
    • Editado AcuTau jueves, 5 de mayo de 2016 11:32
    lunes, 2 de mayo de 2016 21:41

Respuestas

  • Hola,

    [-]¿ Cómo puedo obtener la validación de lo que voy ingresando y si es correcto lo permite sino muestre mje.

    Una cosa es validar la estructura de los datos que se ingresan y otra muy diferente es saber si existe realmente, ya que puede tener la estructura correcta, valga la redundancia, pero no existir.

    > RUC :Estructura : Tiene 11 dígitos numéricos, pero varía según persona jurídica o natural, y solo puede comenzar con 10, 15, 17 o 20 y otras validaciones.

    Aquí hay un macro que publicó la Sunat para mostrar como es el algoritmo para validar el RUC, e incluso puedes descargar el macro y obtener el código.

    E incluso puedes usar el servicio Web

    http://www.aduanet.gob.pe/ws-ad-pd/ws-ad-pd?WSDL

    Correo electrónico :

    Estructura :

    - Puedes usar expresiones regulares : ( Imports System.Text.RegularExpressions )

           Dim regex As New Regex("^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$")
            Dim match As Match = regex.Match("micorreo@gmail.com")
    
            If match.Success Then
                'Es correcto
            End If


    También puedes usar EmailVerify que es un componente para validar la existencia y la estructura.

    Saludos.



    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta AcuTau jueves, 5 de mayo de 2016 21:14
    jueves, 5 de mayo de 2016 17:42
  • Hola JackJJ

    Verificar RUC

    public static bool ValidationRUC(string ruc)
            {
                msj = string.Empty;
                
                if (ruc.Length != 11)
                {
                    msj = "NUMERO DE DIGITOS INVALIDO!!!.";
                    return false;
                }
              
                    int dig01 = Convert.ToInt32(ruc.Substring(0, 1))*5;
                    int dig02 = Convert.ToInt32(ruc.Substring(1, 1))*4;
                    int dig03 = Convert.ToInt32(ruc.Substring(2, 1))*3;
                    int dig04 = Convert.ToInt32(ruc.Substring(3, 1))*2;
                    int dig05 = Convert.ToInt32(ruc.Substring(4, 1))*7;
                    int dig06 = Convert.ToInt32(ruc.Substring(5, 1))*6;
                    int dig07 = Convert.ToInt32(ruc.Substring(6, 1))*5;
                    int dig08 = Convert.ToInt32(ruc.Substring(7, 1))*4;
                    int dig09 = Convert.ToInt32(ruc.Substring(8, 1))*3;
                    int dig10 = Convert.ToInt32(ruc.Substring(9, 1))*2;
                    int dig11 = Convert.ToInt32(ruc.Substring(10, 1));
    
                    int suma = dig01 + dig02 + dig03 + dig04 + dig05 + dig06 + dig07 + dig08 + dig09 + dig10;
                    int residuo = suma%11;
                    int resta = 11 - residuo;
    
                    int digChk = 0;
                    if (resta == 10)
                    {
                        digChk = 0;
                    }
                    else if (resta == 11)
                    {
                        digChk = 1;
                    }
                    else
                    {
                        digChk = resta;
                    }
    
                    if (dig11 == digChk)
                    {
                        return true;
                    }
                    else
                    {
                        msj = "NUMERO DE RUC INVALIDO!!!.";
                        return false;
                    }
                }

    Puedes usar este link para convertir el código a vb.net

    Convertir de C# a Visual Basic .NET

    El correo validalo como indica Joel


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    • Editado Pedro Ávila jueves, 5 de mayo de 2016 23:36 ...
    • Marcado como respuesta AcuTau domingo, 8 de mayo de 2016 14:55
    jueves, 5 de mayo de 2016 23:35

Todas las respuestas

  • Hola, podrias usar el evento TextChanged o KeyPress y hacer las validaciones con expresiones regulares. Para el mensaje de error puedes usar ErrorProvider.

    Saludes...


    martes, 3 de mayo de 2016 0:51
  • Aun no he solucionado al digitar el segundo numero error 
    jueves, 5 de mayo de 2016 12:19
  • Hola,

    [-]¿ Cómo puedo obtener la validación de lo que voy ingresando y si es correcto lo permite sino muestre mje.

    Una cosa es validar la estructura de los datos que se ingresan y otra muy diferente es saber si existe realmente, ya que puede tener la estructura correcta, valga la redundancia, pero no existir.

    > RUC :Estructura : Tiene 11 dígitos numéricos, pero varía según persona jurídica o natural, y solo puede comenzar con 10, 15, 17 o 20 y otras validaciones.

    Aquí hay un macro que publicó la Sunat para mostrar como es el algoritmo para validar el RUC, e incluso puedes descargar el macro y obtener el código.

    E incluso puedes usar el servicio Web

    http://www.aduanet.gob.pe/ws-ad-pd/ws-ad-pd?WSDL

    Correo electrónico :

    Estructura :

    - Puedes usar expresiones regulares : ( Imports System.Text.RegularExpressions )

           Dim regex As New Regex("^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$")
            Dim match As Match = regex.Match("micorreo@gmail.com")
    
            If match.Success Then
                'Es correcto
            End If


    También puedes usar EmailVerify que es un componente para validar la existencia y la estructura.

    Saludos.



    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta AcuTau jueves, 5 de mayo de 2016 21:14
    jueves, 5 de mayo de 2016 17:42
  • Hola JackJJ

    Verificar RUC

    public static bool ValidationRUC(string ruc)
            {
                msj = string.Empty;
                
                if (ruc.Length != 11)
                {
                    msj = "NUMERO DE DIGITOS INVALIDO!!!.";
                    return false;
                }
              
                    int dig01 = Convert.ToInt32(ruc.Substring(0, 1))*5;
                    int dig02 = Convert.ToInt32(ruc.Substring(1, 1))*4;
                    int dig03 = Convert.ToInt32(ruc.Substring(2, 1))*3;
                    int dig04 = Convert.ToInt32(ruc.Substring(3, 1))*2;
                    int dig05 = Convert.ToInt32(ruc.Substring(4, 1))*7;
                    int dig06 = Convert.ToInt32(ruc.Substring(5, 1))*6;
                    int dig07 = Convert.ToInt32(ruc.Substring(6, 1))*5;
                    int dig08 = Convert.ToInt32(ruc.Substring(7, 1))*4;
                    int dig09 = Convert.ToInt32(ruc.Substring(8, 1))*3;
                    int dig10 = Convert.ToInt32(ruc.Substring(9, 1))*2;
                    int dig11 = Convert.ToInt32(ruc.Substring(10, 1));
    
                    int suma = dig01 + dig02 + dig03 + dig04 + dig05 + dig06 + dig07 + dig08 + dig09 + dig10;
                    int residuo = suma%11;
                    int resta = 11 - residuo;
    
                    int digChk = 0;
                    if (resta == 10)
                    {
                        digChk = 0;
                    }
                    else if (resta == 11)
                    {
                        digChk = 1;
                    }
                    else
                    {
                        digChk = resta;
                    }
    
                    if (dig11 == digChk)
                    {
                        return true;
                    }
                    else
                    {
                        msj = "NUMERO DE RUC INVALIDO!!!.";
                        return false;
                    }
                }

    Puedes usar este link para convertir el código a vb.net

    Convertir de C# a Visual Basic .NET

    El correo validalo como indica Joel


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    • Editado Pedro Ávila jueves, 5 de mayo de 2016 23:36 ...
    • Marcado como respuesta AcuTau domingo, 8 de mayo de 2016 14:55
    jueves, 5 de mayo de 2016 23:35
  • Ese es el error luego supongo que llamo la funcion al textbox en textchange pero sale error. asi subrayado similar a esto de string

    cual es el problema?

    viernes, 6 de mayo de 2016 13:40
  • Si tengo esto parte del codigo tengo un error en la linea 

     Dim xWml As New XMLHTTP

    No me reconoce XMLHTTP el ejemplo o saque de VB6.0 pero en mi version 2012 no reconoce.

     Private Sub RUC(ByVal xNum As String)
            On Error Resume Next
            Dim xWml As New XMLHTTP
            xWml.open("POST", "http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias" & xNum, False)
            xWml.send()
            If xWml.Status = 200 Then
                'Limpiar()
    Como seria esa declaracion?

    domingo, 8 de mayo de 2016 18:08