2
Does anyone know how I can validate the CIE (Foreign Identity Card) or RNE (National Aliens Registry) number? I believe there are two names.
Language-independent.
2
Does anyone know how I can validate the CIE (Foreign Identity Card) or RNE (National Aliens Registry) number? I believe there are two names.
Language-independent.
0
I solved RG / RNE validation and formatting with this code:
function formatarRG(input, teclapres) {
   var numeroRG  = input.value.trim().toUpperCase().replace(/[^\dX]/g, '');
   var numeroRNE = input.value.trim().toUpperCase();
   if (numeroRNE.substring(0, 3) == 'R' || numeroRNE.substring(0, 3) == 'RN' || numeroRNE.substring(0, 3) == 'RNE') {
    input.value = numeroRNE.replace(/^(RNE)(\w)(\d{6})(\w)$/, '$1$2$3$4');
   } else {
    if ((numeroRG.length == 8 || numeroRG.length >= 9) &&
          (numeroRG.substring(0, 8) == '00000000' ||
           numeroRG.substring(0, 8) == '11111111' ||
           numeroRG.substring(0, 8) == '22222222' ||
           numeroRG.substring(0, 8) == '33333333' ||
           numeroRG.substring(0, 8) == '44444444' ||
           numeroRG.substring(0, 8) == '55555555' ||
           numeroRG.substring(0, 8) == '66666666' ||
           numeroRG.substring(0, 8) == '77777777' ||
           numeroRG.substring(0, 8) == '88888888' ||
           numeroRG.substring(0, 8) == '99999999')) {
        alert("ATENÇÃO! Número do RG inválido, digite novamente. ");
        input.value = '';
        input.focus();
        return false;
    } else {
            input.value = (numeroRG.length == 8 ? numeroRG.replace(/^(\d{1,2})(\d{3})(\d{3})$/, '$1.$2.$3') : numeroRG.replace(/^(\d{1,2})(\d{3})(\d{3})([\dX])$/, '$1.$2.$3-$4'));
         if (numeroRG.length >= 9 && !verificaRG(numeroRG)) {
            alert("ATENÇÃO! O dígito verificador do Número do RG está inválido, o correto é "+ RetornarDigitoVerificadorRG(numeroRG));
            input.value = input.value.substring(0, 11) + RetornarDigitoVerificadorRG(numeroRG);
            input.focus();
            return false;
         }
    }
   }
    return input.value;
}
function validarRG(input) {
    var numero  = input.value.trim().toUpperCase();
    if ((numero.substring(0, 3) == 'RNE' && numero.match(/^(RNE)(\w)(\d{6})(\w)$/) == null) ||
          (numero != '' && numero.length < 8) ||
          ((numero != '' && numero.length > 1) &&
           (numero.substring(0, 8) == '00000000' ||
            numero.substring(0, 8) == '11111111' ||
            numero.substring(0, 8) == '22222222' ||
            numero.substring(0, 8) == '33333333' ||
            numero.substring(0, 8) == '44444444' ||
            numero.substring(0, 8) == '55555555' ||
            numero.substring(0, 8) == '66666666' ||
            numero.substring(0, 8) == '77777777' ||
            numero.substring(0, 8) == '88888888' ||
            numero.substring(0, 8) == '99999999'))) {
    alert("ATENÇÃO! Número do RG inválido, digite novamente.");
    input.value = '';
    input.focus();
    return false;
    } else return true;
}
function verificaRG(value) {
    // Regra encontrada no site: https://www.ngmatematica.com/2014/02/como-determinar-o-digito-verificador-do.html
    var numeroRG  = value.trim().toUpperCase();
    var numero    = numeroRG.split("");
    var total     = 0;
    var resto     = 0;
    var digito    = 0;
    var resultado = true;
    if (numeroRG != "") {
    total  = (parseInt(numero[0])*2)+(parseInt(numero[1])*3)+(parseInt(numero[2])*4)+(parseInt(numero[3])*5)+(parseInt(numero[4])*6)+(parseInt(numero[5])*7)+(parseInt(numero[6])*8)+(parseInt(numero[7])*9);
    resto  = total % 11;
    digito = 11 - resto;
    if (numero.length >= 9) {
        if (numero[8] == 'X')
            resultado = (digito == 10);
        else if (numero[8] == '0')
            resultado = (digito == 11);
        else
            resultado = parseInt(numero[8]) == digito;
    }
    } else
        resultado = false;
    return resultado;
}
// No seu HTML 
<label for="colaborador.numeroDoRG.rotulo"><fmt:message key="colaborador.numeroDoRG.rotulo" />:</label>         
<input type="text" tabindex="2" name="colaborador.numeroDoRG" id="colaborador.numeroDoRG" maxlength="12" size="20" class="campo uppercase" onKeyUp="return formatarRG(this, event);" onBlur="return validarRG(this);"/>
<br/>
I hope it helps you...
Browser other questions tagged php javascript java c# validation
You are not signed in. Login or sign up in order to post.
I don’t understand how you differ from RG RNE. It seems to do the same validation for both. Can you give details? Thank you.
– Bruno Toffolo