Autor Tópico: [RESOLVIDO] Validar número da F.C.I. (Ficha de conteúdo de importação)  (Lida 222 vezes)

HGL

  • Intermediário
  • ***
  • Mensagens: 164
  • Certifique-se de que você pratica o que prega.
    • HGL Tecnologia
Olá Pessoal!

Estou postando aqui a função em PHP que tive que criar para validar o número da F.C.I.

Talvez ajude alguém.

<?php
   
     function validaFCI($string) {
   
        //===============================================================================================
        // Algumas considerações sobre a F.C.I. (ficha de conteúdo de importação)
        // O número da F.C.I. deve obrigatóriamente conter letras (de A a F), números e o hífen
        // Quanto as letras não são obrigatórias todas as letras mencionadas acima, nem todos os números
        //===============================================================================================
   
         $valido       = "S";
         $arrayNum     = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
        $arrayString  = array("A", "B", "C", "D", "E", "F");
        $hifens       = "";
         $length       = strlen($string);
        $lengthNum    = 0;
        $lengthletras = 0;
        $lengthhifen  = 0;
        $numeros      = "";
        $letras       = "";
   
        //---------------------------------------------------------------
       //Verifica o tamanho da string...
       //---------------------------------------------------------------
        if ($length <> 36) {
             $valido = "N";
          }
   
        //---------------------------------------------------------------
        //Verifica existe números na string...
        //---------------------------------------------------------------
        if ($valido == "S") {
          
          for ($x = 0; $x < $length; $x++) {
                
             $letter = substr($string, $x, 1);
                
             if (in_array($letter, $arrayNum)) {
                   
                $numeros .= $letter;
                
             }
          }
          
          $lengthNum = strlen($numeros);
         
          if ($lengthNum == 0) {
             
             $valido = "N";
                   
             }
         
       }
         
   
       //---------------------------------------------------------------
       //Verifica existe letras na string...
      //---------------------------------------------------------------
       if ($valido == "S") {
         
         for ($x = 0; $x < $length; $x++) {
               
             $letter = substr($string, $x, 1);
               
            if (ord($letter) >= 65 And ord($letter) <= 90) {
                   
               $letras .= $letter;
               
            }
         }
         
         $lengthletras = strlen($letras);
         
         if ($lengthletras > 0) {
            
            for ($x = 0; $x < $lengthletras; $x++) {
               
               $letter = substr($letras, $x, 1);

               if (!in_array($letter, $arrayString)) {

                  $valido = "N";
                  break;

               }

            }
         }
         
         else
            
            {
               $valido = "N";
            }
         
      }
   
       //---------------------------------------------------------------
       //Verifica existe hífens "-" na string...
      //---------------------------------------------------------------
       if ($valido == "S") {
         
         for ($x = 0; $x < $length; $x++) {
               
             $letter = substr($string, $x, 1);
               
            if ($letter == "-") {
                   
               $hifens .= $letter;
               
            }
         }
         
         $lengthhifen = strlen($hifens);
         
         if ($lengthhifen == 0) {
            
               $valido = "N";
            
            }
      }
   
        return $valido;
   
     }
?>

Kleyber

  • Expert
  • *****
  • Mensagens: 2235
    • Email
Re:[RESOLVIDO] Validar número da F.C.I. (Ficha de conteúdo de importação)
« Responder #1 Online: Maio 29, 2016, 11:20:59 am »
Muito bom Marlon. Obrigado por compartilhar.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net